鴨井遼 競技プログラミング

競技プログラミングについての日記(更新は終了しています)

AOJ 1621 Folding a Ribbon (ICPC Domestic 2017 F)

judge.u-aizu.ac.jp

 

なぜかF問題だが、すごく簡単な問題があったので寝る前に解いた。ちょっとバグらせたので30分くらいかかったので何も言えないが、これはC問題くらいでも良い気がする。Python使って解いたので、他の言語だと色々考えないといけないことがあるかもしれない。

解法としては、まず逆順に(折り目を開いていきながら)考えると指定された位置が各段階において半分より上か下かが分かる。次に正順に(折っていく方向で)考えると、折った結果が半分より上になるか下になるかが分かっているので、どちら向きにおれば良いかが分かる。計算量も O(n)でほぼ定数なので、Pythonで通る。

 

judge.u-aizu.ac.jp