155.1

この頃の問題セットは頭を使うというよりは、長文をしっかり読んで、書いてある通りに実装するという色合いが強い感じ。バグのないプログラムが書けるのはいいことだ。...けど、そういう実装だけ系って1時間とかで終わらないんだよな...。

300 (level1)

子供と母親の遺伝子が与えられるから、男性の遺伝子群から父親らしい人を全部選べ、という問題。母親の遺伝子の任意の半分と、残りの半分を男性から選んだもので、子供の遺伝子が作れれば良い。


男性が高々5人で、遺伝子の長さが20までなので全通り試してみれば問題なし。

450 (level2)

10進数の各桁の数字を連続するXで表現し、-で区切ったものをデコードする問題。ただし、複数個のデータが与えられて、それらの間では同一桁が同じ区間に収まるように表現されている。(3文字目から8文字目までは1000の位、という感じに。)


切れ目をしっかり考えればそれまでなんだけれど、やたらと面倒なので、一発完動どころか...。

1000 (level3)

赤黒木を実装してください、という問題。こんなの1時間で書けるか、という感じ。


更に言うと、挿入するデータ列が与えられるので、赤黒木の制約を満たすように行う操作の回数はいくらか、という問題。


問題文中に明記されているように、4パターンあるのだけれど、その中のどれかのどこかに細かいバグがあるっぽく通らない。直す気力がないので放置。こういうのは十分に時間がある時に実装しないとダメ。


NHC向けコーディングはエンバグしたら収拾がつかなくなるようなコードを量産するのが良くない。いかに時間がない状況下で保守性の高いコードを書くことが重要であるか、という意味では良い問題かも知れないが、ただただ面倒なだけの問題は解いていて楽しくない。