2011-09-12
GDD 2011 DevQuiz
ウォームアップクイズ
Google Apps Scriptのクイズがわからなくて全試行してしまった。
Web Game
はじめてのChrome Extension
一度めくったカードを覚えておくようにした。
https://github.com/firewood/topcoder/blob/master/gdd_2011/solver.js
一人ゲーム
- 数値は最大100万なので、21回半分にするとゼロになる
- 最初にn回割ったときに数が5の倍数になるかどうかのテーブルを生成しておく。大きさは21個で済む。
- 割るか除去するかで、なくなるまでBFSでまわす
https://github.com/firewood/topcoder/blob/master/gdd_2011/game.cpp
スライドパズル
さっぱり解き方が分からなかったので、ぐぐって8パズルの解き方とかを読む。
逆方向からも探索するのが良さそうだったので、スタートとゴールからBFSで全探索。
4x4までは解けたので、計算量を減らすために(1)評価値を計算(2)先頭からn個のキューだけ残すことに。
朝まで実行させたら9割方解けたので、残っている問題を閾値を増やして数問解く。
非常に単純な力技だが、最終成績は4961/5000で、予想以上に解くことができた。
評価値はマンハッタン距離ではなく、x^2+y^2としたのが良かったようだ。
https://github.com/firewood/topcoder/blob/master/gdd_2011/puzzle.cpp
- 47 https://topcoder-g-hatena-ne-jp.jag-icpc.org/
- 16 http://t.co/UxU8Ib2
- 14 http://d.hatena.ne.jp/harapon1012/20110912/1315805381
- 3 http://togetter.com/li/187147
- 2 http://hootsuite.com/dashboard
- 2 http://m.hatena.ne.jp/tree?9258805319453181433
- 1 http://realtime.search.yahoo.co.jp/search?p=#gdd11jp&ei=UTF-8&md=t
- 1 https://twitter.com/hotpepsi/status/113271392954359809
- 1 http://www.google.co.jp/url?sa=t&source=web&cd=4&ved=0CEUQFjAD&url=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20110912/1315840772&rct=j&q=gdd 2011&tbs=lr:lang_1ja,qdr:d3&ei=YVxwTsDJMOXXmAWsu5DzCQ&usg=AFQjCNFU2VyVctL5Biimi4iEr8EiYiVxvA&sig2=sm7l3VxCLpp1csdgT6tSaQ
- 1 http://d.hatena.ne.jp/harapon1012/mobile?date=20110912&section=1315805381