オフラインリアルタイムどう書くE21 に参加して負けてきました

yhpg.doorkeeper.jp

負けました。敗因はなんだろ……。方針が定まりきらなかったのが敗因なのかなー。

プレイヤーベースで考えると打ったときに、そのタイミングでアタリを引いたのか、次のターンでアタリを引いたのかの場合分けがめんどくさそうだなーと思いつつ、じゃあどうするんだろー、という感じ。
今回は平行世界をたくさん用意して、リボルバーのタマの詰め方を全通り作って、アタリを引いた人と一致するパターンが正解ということにしています。
無限ループに入ってるかどうかは雑に何周したかをカウントして、まわりすぎだったら終わるって感じでやってます。

引っかかったのは、playerのidxとidで番号が1つズレているのでそれの管理ミスと、残弾数がズレてるケースを削るのを忘れてるとかそのへん。

コミットしてなかったので当時の状態がわからないけど最終形はこんな感じでした。

misc/solver.rb at master · hkdnet/misc · GitHub

勝てなさそうな印象の割にがんばれたけど負けてて悔しいですね。しょんぼり