問題はこちら
問題概要
歩でちょうど距離歩けるとき,原点からまで最短何歩で行けるか.解説
とします.
歩歩くとするとなら到達できないことがわかりますが,なら到達できるでしょうか?
到達できそうですがのときには注意が必要で,図に書いてみるとわかるように歩かかります.
以上から,のとき歩,のときを満たす最小のが答え.
を求めるのに,が小数のままなのは誤差が怖いので両辺2乗してを満たす最小のを求めます.これは二分探索などを用いると高速に求めることができます.解の上限や判定を適当に決めてしまうとオーバーフローするので注意.
二分探索の実装が面倒ならをからいい感じの上限まで全探索する.これもオーバーフローに注意.
雑な上限評価: