571.1

250

文字列として整数をソートしたときの最初の50個を答えよ、という問題。


1から始まって0がたくさん続きそうなのを適当にリストに突っ込んでソートして、先頭を取り出すだけ。厳密にやっても変なことやりそうだし...。

500

あんま良く見てない。

1000

円盤の上にある物体を、円盤を回転させて目的地に運びたい。複数の円盤が重なっているところでは、別の円盤の上に座標を変更させずに移動させることはできるとして、可能かどうか答えよ、という問題。


割とやるだけな気がするんだけれど、同心円についてまじめに考えないといけないらしい。それ以外のケースでは、二つの円があったときに、相手の中心を含むような円では、相手に移動できるならば相手の全部の地点を自由に移動させられるし、そうじゃない場合は、共有部分の幅だけ移動できる(実際には全部じゃないケースもあるけど)という感じにやればどうにかなりそう。全部の円のペアに対して色々やるのだけれど、同じ組で何回も更新が走ることはないはずなので、O(N^4)くらいで終わりそう。あってるかは知らないし、多分間違ってるけれども。