AtCoder Beginner Contest 292 F - Regular Triangle Inside a Rectangle 解説
はじめに
ABC292のF問題で幾何問題が出ました。
自分は他の方と解答アプローチが異なったので解説記事を書いてみます。
問題
縦、横の長方形で囲まれた内部に描ける正三角形の一辺の長さの最大値を求めよ。
解答
前提としてとします。の場合はswapして考えます。
またのときはが答えになるので説明を省きます。*1
与えられた四角形をとして、点及び辺に接する正三角形を描きます。
各辺の長さはとします。
そして点から辺に垂線を引き、交点をとします。
するとはで表され、はとなります。
したがっての長さはとなり、以下であれば長方形の内部である条件を満たし、と一致するときが最大となります。
このようなは二分探索で求めることができます。探索範囲は条件よりです。*2
実装
所感
がっつり数学問題なので苦手な人には辛そうですが、アプローチ方法が複数あって個人的には良い問題だなと思いました。