本戦行けるのかとても怪しい。最高1位、最終74位。

問題文読み落としてたのが試合終了後発覚。とてもつらい。

魔法の力を、ためて戦え!「Charge And Hit」

開始直後数十分

問題文読んで反射で書いた適当なonelinerで1位が取れる。

while true ; do curl 'http://game.coderunner.jp/enter?token='$TOKEN ; echo ; sleep $[3+$RANDOM%2+$RANDOM%3] ; done

次の数十分

問題を把握したのでとりあえず書いたようなscriptで1位が取れる。chokudaiさんに名前を呼んでもらえるので嬉しい。

#!/usr/bin/env python3
...
while True:
    info = query_info()
    if info is None:
        query_attack()
        wait(0.8)
    else:
        if info['hp'] < info['power']:
            query_attack()
            wait(0.8)
    wait(0.2)

残り

駄目

1位を取ったpython scriptの出力を調整する際に、vim scriptの不調とかが原因で手間取ってたら10位ぐらい降下。 だんだん周囲が強くなっていくので改良してたが上手くいかず、以降ずっと順位が下り続ける。

考えたこと

  • 攻撃力が敵の体力を上まわる少し前に攻撃するようにする。
  • 部屋内で1位が取れればよいので、敵hpの半分以上を削れるなら攻撃する。
  • 敵hpが少なくて殆ど点にならないとき(hp < 10,000,000)は攻撃しないする。(誰か親切な人がとどめをさして)次に出てきた元気な敵を(たいてい一撃で)倒すようにする。
  • 部屋は1分で閉じるので、残り$0.5$秒とかになったらとりあえず攻撃しておく。
  • 体力の大きい元気な敵に、他人が攻撃する直前に、倒れないぎりぎりの攻撃をする、というのが理想。

頑張ったけど駄目でした。

誤読

部屋内の残りの敵の体力が取れることに気付いてなかった。

再発防止にはなにをどうすればいいのだろう。


CODE RUNNER 2015 予選B 魔法の力を、ためて戦え!「Charge And Hit」

  • Tue Nov 3 00:26:27 JST 2015
    • 問題読み落としてたの発覚したので修正