2012/10/15(月)テトロミノ認識〜 横へな 2012.10.6 を解いた。
何気なくツイッターに流れてきたURLをクリックしたとき、その先に書かれているものが意図せずしてプロコン的問題だった場合、瞬間、突然、強制的に、脳内のストップウォッチをスタートさせられてしまう。えっ えっ。これは、恐怖以外の何物でもない……!
— ルバン・ガイバンサ・サーツさん (@ttsuki) 10月 13, 2012
というわけで。
テトロミノ認識〜 横へな 2012.10.6
http://nabetani.sakura.ne.jp/hena/ord4tetroid/
せっかく解いたし記事にしとけ的な。
10x10のグリッドスペースにぽつんとテトロミノ(かもしれないもの)が置かれるので、
それがなんであるか判定せよ! という問題。
答案とテスト結果。 http://ideone.com/ws2SB
コード量たいしたことない割に40分とか掛かった。
ぱっと見スマートな実装方法が思いつかないので、
なんとか実装したろうという気概が試されそうな問題ですね。
実装方法は色々ある気がしますが、
左上に持ってってパターンマッチングしちゃうのが楽かなーと思って採用してみました。
左上に持ってくループと、パターンマッチングに文字列を使ってるところとかは横着。
コーディングの40分のうち20分は、パターンデータベース()の生成と確認に費やした気がする。
これを生成するのにもうちょっと楽で間違いにくい方法とか思いつければ良かったなぁ。
この手のデータベースはバグの温床になるわけで生成には細心の注意が必要なんですけど。