Into the Horizon

programming, photography, and daily log

codevs参加記録

前の日記でも書きましたが、codevsに参加してました。
ハル研は全然思いつかなくて、早いうちに諦めてました)
参加記録のようなものを書いておきます

■ルール改正まで

  • 敵を遠回りさせてrapidタワーlevel0かlevel4を建てればいいんだなっていう方針を建てる。方針は最初から最後まで変わらなかったなあと思う
  • とりあえず遠回りとか考えないで侵攻ルート沿いにタワー建てたらクリアできてしまう
  • スコアアップのためにタワー減らしていったら、結局進入口沿いに1つずつlevel4タワーを建てればokということに気付く。クソゲー…と思って放置

■ルール改正後

  • twitterが盛り上がってたので再び参加。前回のアルゴリズムである程度いくかと思ったけれど50ちょいまでしかいかない。難しいぞこれは…
  • 迷路生成で迷う
  • 方針が立たなかったので、現実逃避に手動で迷路作ってクリアしていく。今思うとかなり無駄な時間だった……
    • と言いつつ、ここでの経験はそこそこ生きた
  • 結局、ゴール側からランダムウォークする方針に。ランダムなのにかなりいい迷路を素早く作ってくれて感動したw
  • 手動で各マップでのタワーの量を調整してやったら全クリアする。学生8位にはなれたので、とりあえず放置(年末)

■正月明け

  • 正月明け、久々にランキング見たら全クリが続出してて焦る
  • 最適化のためにそろそろ真面目にシミュレータを作る。シミュレータ作るのは時間がかかりそうだったので後回しにしていたけれど、やってみたらすぐ出来上がったので、もっと早く作るべきだったと反省…
  • がしかし、研究が忙しくて結局前日22時まで放置。ここから頑張る
  • シミュレータはすぐ出来たけど最適化がうまくできず悩む。やばい時間ない
  • できた…けれど今度はクライアント上で動かない。え、外部ファイル読み込む時どこにファイル置けば良いの……
    • わからなく不貞寝
  • できた! スパートかける……が、案外上がらずorz
  • 方針がだめだったのかな…と思って1時間前からフリーズタワーやら使い出したけれど、結局決勝進出ラインには届きませんでした。
  • 最終的な得点は25278、順位は総合15位、学生12位

■ここが駄目だった
twitterをROMったり決勝の実況を聞いてたりした感じ、方針は全て合っていた感があるので(実況聞いててなるほどーと思うことがなかった)、単純に迷路生成で差がついたのかなあと今のところ思ってます。
やっていなかったことと言えば、colunさんがやっていたようなマップ毎に事前に迷路生成しておく手法くらいですかね。流石にその埋め込みは…と遠慮してしまいやってませんでした。
他の方のソースをまだ読めてないので、早く読みたいところ(1月末に学会の論文締め切りがあってそれまでは暇がなさそう…)




割と時間かけたので決勝いけなかったのは非常に悔しいですが、現状ではこんなもんですかね。
こういう、時間をかけて問題を分析・解決していくような形の大会は自分に合ってるなあと思いました。12月も1月もなかなかに研究が忙しかったのですが、気がつくとcodevsについて考えてましたね…。
ただ、そもそもの基礎体力?的な部分が不足してるので、しばらくはマラソンマッチ系の大会には手を出さずに、ひたすらSRMで腕を磨こうと思ってます。

また来年あれば決勝行きたいですね。頑張ります。