うにゅーん、って感じだ

SRM highest:1910. C#を書きます.

CODE FESTIVAL 2016 予選A 参加記

コード祭り2016の予選Aに出ました。
ABCDの4完で全体107位、日本人40位でした。registerフェーズで落ちてなければ予選突破してそう。



・開始

 配点が 100 - 200 - 400 - 800 - 1200 なのでとりあえずCを解かなきゃ話にならないなぁと思いCから開く
 解法はすぐ思いついたが無限にバグらせて4WA


・20分経過

 ひいこら言いながらCを通す
 順位表みたら300位とかでおいいいいい、っつった


・25分経過

 B, Aと通してDを開く
 {(a_{i, j} - a_{i, j + 1})}{i} に依存しないかつ {(a_{i, j} - a_{i + 1, j})}{j} に依存しないことはすぐ見えたけどわからず


・40-45分経過

 下のツイートの解法を思いついて実装する(自分はハマらなかったけどグラフが連結でない可能性があるので注意)


・60分経過

 実装して提出する
 Submission #895510 - CODE FESTIVAL 2016 qual A | AtCoder
 サンプルが一個落ちていることにより入れる値が負数じゃダメだという条件を見逃していることに気づく


・75分経過

 列の最小値を持って幅優先探索中に更新していけば良さそうと気づいて実装を始める


・85分経過

 実装したがWAが取れない
 Submission #896588 - CODE FESTIVAL 2016 qual A | AtCoder
 仕方ないから幅優先探索後にめっちゃループ回してさらに最小値を更新するか〜〜〜って言う


・90分経過

 1 ケ ー ス WA
 Submission #896888 - CODE FESTIVAL 2016 qual A | AtCoder


・100分経過

 最後のループで300回以上更新があった場合もう負数になるんじゃね? ってNoを出力するコード出したらAC
 (コンテスト後にsubmit二分探索したら30回ほどで打ち切って大丈夫だったらしい)
 不正感しかないけど通ったからいいんだもん...!
 Submission #897265 - CODE FESTIVAL 2016 qual A | AtCoder
 


あとはゆっくり順位表を眺めてました
(コンテストが終わったあと考察したらこれEのほうが簡単じゃない? ってなった)


とりあえずホントにどうなることやらって感じだったのでホントにホッとしています...


今年もパーカー得たい〜〜〜!!!



あと、予選Bまでに東工大内でコード祭り予選突破練習会開きたいです、協力者(というか主催者)募集中です