CodinGame Green Circle コンテストに参加しました。
順位は、総合145位、Goldリーグ88位でした。 やった内容と感想について書いていきます。
ルール
例によってツカモさんが解説記事を書いてくれているので*1こちらをご参照ください。 tsukammo.hatenablog.com
今回は特にルール読解がきつい回だったので、メチャクチャ重宝しました。 解説記事が無かったら、読解フェーズで心折れて辞めてたかもしれないです。
最終解法
ルールベースのみって感じでした。 大枠の方針は、良い感じのところを周りつつCIでボーナスを4つ送ることを目指していくって感じです。
もう少し詳しくは、以下のようなルールを入れました。
- 0,1,5,6,7 を迷惑料を避けつつ巡回
ドロー系
=>CONTINUOUS_INTEGRATION 8
*2 の優先順でスキルを使用。余ったスキル使用枠は possibleMove から適当に選ぶ。- 負債2以下でリリース出来る場合は実行。
- Automated にボーナスが4つ溜まっている場合は、リリース可能なものの内で負債が一番小さいものをリリース。
- 残り1リリースの状況では、リリースに都合の良い移動先を探すようにする。
解法周りの感想
Twitter のタイムラインの情報をかなり採用しました。共有情報が(たぶん)豊富な日本勢が今回有利だったんじゃないかなとかを思ったり。
ルールベース実装がつらかったので、今回はほどほどのところで打ち切りました。 個人的に、最近は途中で飽きて投げ出し気味なので、なにかもうちょい楽しむ工夫をしなきゃなのかなあとかを思っています。
所感
序盤の印象は、ルールの難解さとかもあってハズレ回かなって気持ちだったんですが、やっていくと当初思ってたよりずっと楽しめました。 ゴールド中位くらいまでは、良い感じのif分岐を1ケース差し込めるだけで割と順位が上がっていく感じがあって、楽しかったです。その先が魔境な感じがありますが。
スキルの強さのバランスが崩れてる感じだった(はず)のとかもあって、ゴリゴリのルールベース回かと思っていましたが、上位勢は結構探索を入れてるっぽくて意外でした。