AtCoder Beginner Contest 103
A - Task Scheduling Problem
例をつくって、列挙した。
昇順か降順にソートして計算すればうまくいくような気がする。
ミソは(おそらく)要素 ai 間の差をなくすこと。
B - String Rotation
popしてinsertで付け替えて回した。
入力:str -> list -> strという変換をしたが、listからstrにするのにjoinを使わなければいけないことに手間取った。str(list:s)でいけると思ってた。
C - Modulo Summation
とりあえず a = [1,2,3] で m = 6で一周期っぽかったので、a = [2,3,5] でもう一例作ってみた。m=30まで作った。そしたらm=29で最大値が来てて、a = [1,2,3]のほうでも m=5 で最大値がきてたので、f(lcm(a)-1)で通った。
蛇足だが素直に公式の例を使えば m=10まででよかった。
あとlcmの実装にmath.gcdを使おうとしたが、REが出てうーんうーん?言ってた。理由はmath.gcdは Python3.5 からで、それ以前はfraction.gcdのためであった。
functools.reduceというメチャいいものの存在を知った。
D - Islands War
時間切れで見ていない。まあまだいいかな。