Marathon Match 48

TopCoderMarathon Matchに初挑戦しました。
いつもやってるSRM(Single Round Match)との違いはこんな感じ。

SRM
スピード勝負。問題文に関数の仕様が書いてあってその通りに作る、というのを75分で3問。早く提出するほどスコアが高い。
Marathon
長丁場。答えがひとつに定まらないような課題(できるだけ少ない手数でパズルを解くとか、できるだけ正確に暗号を解読するとか)が与えられて、解を最適化するプログラムを作る。期間は1〜2週間。


今回のMarathon Matchの問題は、電子すかしをテーマにしたものでした。「ある波形を元に、それぞれ固有の信号(電子すかし)を埋め込んだ波形を何種類か作る。次にそれらのうちどれか1つにノイズを加えた波形が与えられるので、どれを元にしたものなのかを当てよ」といったもの。
入力波形や加えられるノイズは、ちゃんと数学的な形で定義されています。


かなり難しい課題でしたが、考えている間はとても面白い時間でした。1日ごとに新しいアイデアが浮かんで、作ってみるとうまくいったりいかなかったり。時間のプレッシャーが弱い分、SRMと比べてより純粋に楽しんで取り組めます。


終結果はまだシステムが計算中で、途中経過からいくと真ん中よりすこし上くらいのよう。20人ちょっといる初参加組の中では4,5番手だからまずまずがんばったのではないか。


しかし楽しいのはいいんだけど、とても時間を吸い取られるゲームなので、参加するのは余裕がある時だけにしとかないといかんな。今はけっこう忙しいのにもかかわらずこれにハマってしまって睡眠時間が…


より技術的な部分の詳細などはTopCoder部日記にて。