CODE RUNNER 2015 参加記

予選A

ランダムに線分を選ぶんだ時の得点の平均を計算すると3本選んだ時が一番高くて、それを元に山登り法を実装したら開始1時間ぐらいで1位をとったりしてビビった。最終順位は18位まで落ちたけど50位以内に入れて満足だった。

予選B

前の部屋の1位の人が平均何秒待ってるか調べて、自分のそれを真似るみたいなことをしていたけど全く伸びなくて困る。部屋のログを眺めていると1位の人は3回ぐらいしか殴っていなくて、できるだけパワーを溜めるのがいいのかな?という考えになる。相手のHP/2だけのパワーを溜まると殴るようにしたらスコアが伸び始めたけど、気づいたタイミングが遅くて伸びきる前にコンテストが終了した。最終順位は100位ぐらいだったかな?

本戦

来年は交通費を用意できなくて、本戦は辞退したけど今年はお金があったので本戦も参加できた。
問題文を全部読むのに15分ぐらいかかって焦る。APIのリファレンスはtxtとjson両方を読む人はいないだろうからどちらか選べるようにして欲しいと思った。あと参加者のスコアグラフのページにある実数が何を表しているのかわからず、タイトルの"Assign Task"から請け負っている仕事の平均数かなって勘違いしてしまった。貪欲にある仕事が得意な人を降順にソートして仕事に間に合うように社員を割り当てる方針で書く。これで途中3位までに上がるけど、このぐらいのことなら誰でも考えつくだろうし後半失速するだろうなという考えがあったけど順位がいいから中々大きく方針を変更できずにいたら、コンテストが終わっていた。最終順位は20位だった。
順位に関してはコンテスト前は上位50人に入ることができれば十分かなって思っていたので満足しているけど、最初にガチャを回すという発想とか外注で仕事を選ぶ発想が全くなかったのは反省するべき点で、使用していない情報について利用しなくても大丈夫か?みたいなことをちゃんと考えるべきだった。他の競プロの大会と比べるとCODERUNNERはいい順位を取れることが多いし、来年も開催されるなら今年以上の順位を狙いたい。

ソースコード

gist.github.com