SRM262 に挑戦.レートが 1200 以上の人は Division1 なので,今日からは Division1. 75 分で 3 問という点は Division2 と同じだが,問題の内容は Division2 と比べてかなーり難しい(はず).

SortBooks (code)

250 点問題. 本のタイトルの条件をみたすものをピックアップする問題.アルゴリズム的には悩むところはなくただ実装するだけ.コーディングそのものは 10 分ほどで終わりましたが,作成したものに Example と同じ入力を与えても,正解例と異なる値が出力され,なかなか Submit できません. Example というのは,入力の例とその入力に対する正しい出力例のことです.各問題には数個の Example がついてきます.最低限,Example で動作確認してから,Submit すべきです.

その Example Case に通りません...おかしいとおもいつつ,あせりまくり,デバッグをはじめたが,なにがおかしいかさっぱり.とりあえずこれ以上 250 点問題に時間をかけるわけにはいかないので 30 分過ぎたところで Submit しました.

BestYahtzeeScore

500 点問題. 5 個のダイスを 3 回まで振ることができた場合(2 回目以降は,振らずに残しておいてもいいです), 5 個の目の組み合わせで決まるスコアの最大値を返す問題.ダイスをふると何がでるかは,あらかじめ長さが 15 の文字列で与えられます. ...時間切れでした.最終的に可能な 5 個の目の組み合わせをすべて試せばいいのですが,そこで手間取りました.

MagicBoxes

1000 点問題. コンテスト中は Open できませんでした.

結果

System Test の結果です. ( Room Statistics )

Room Statistics

やはり,250 点問題は System Test に落ちました.結果,Score はゼロです...あー,Typo でした..ここです

if (w.equalsIgnoreCase("the") || w.equalsIgnoreCase("and")
        || w.equalsIgnoreCase("or")) {
    return 1;

"of" とするべきところを,"or" としています..本番中はまったく気づきませんでした.ちなみにこの問題,はやい人は 3 分もかからずに Submit しています ( Problem Details )

こうしてみると,Division2 では Java と C++使用者は同数ほどなのに,Division1 では C++使いが多いですね.

今日の教訓

  • 文字列リテラルは 問題文からコピー and ペーストすべき.
  • Example Case はすべて通してから Submit.やけになって途中で Submit しても無意味です.必ずどこかが間違っていますし,他の参加者に Challenge の機会を増やすことにもなります.

そういえば,今回は Challenge Time では,自分の 250 点問題には誰も Challenge してきませんでした.あまりに単純なミスすぎて逆に発見できなかったのか... レートは 1579 -> 1255 と大幅に減りました.かろうじて Division1 には残っています.