2010-01-04

[][]SRM457 00:35 はてなブックマーク - SRM457 - TopCoderの学習のお時間

2010-01-04 21:00-(JST

http://www.topcoder.com/stat?c=coder_room_stats&cr=22744421&rd=14144&rm=303181

TopCoderぞめ。リストで書く方が楽なので記事のスタイルを変えました。

Level タイトル 試合中 あとで 感想
DIV1 250 TheTriangleBothDivs WA 25min 文字列処理実装系。複雑な方法で書いてミス
DIV1 500 TheHexagonsDivOne Opened 組み合わせ。パターンの見落としで正解できず
DIV1 1000 TheSquareDivOne Opened - 碁盤目ゲーム系。眺めただけ
  • Coding
    • 250
      • 実装系か
      • 全パターン調べればいいんでしょ、ということで一桁ずつループ回す
      • 答えの時刻に対してループさせれば簡潔だったが、与えられた文字列がどのような形になり得るかをループで列挙していたのでとても複雑なコードになってしまった
      • 文字列処理系の問題では、この問題みたいに「入力をいじるのではなくて、あり得る最終形を全部列挙して入力とマッチするかを調べると簡単になる」というものがたまにある
      • このタイプはうまくいったことがないので次こそは
    • 500
      • セルが7個しかなくて組み合わせ数を式で出せそうだったので数える
      • 余事象の、剰余が同じペアが1個・2個・3個できる場合をそれぞれ場合分けして数えた
      • が、答えが合わない
      • 合わない
      • 合わない
      • 時間切れ
      • ペアが2個できる場合のパターンを1つ見落としていたのが原因
      • 剰余をアルファベットで表すと、"AABBCD"の順で並んでいるのしか頭になくて"AACBBD"を数えていなかった
  • Challenge
    • 250でコーナーケースがいろいろとありそうと思って読んでいたが見つけられず
  • System Test
    • 250落ちた
    • 単純ミスがひとつあった
    • 提出後に結構テストしたけど見つけられなくて残念
    • 実装系の問題だと思ったときは、プラグインが生成するテストケースに自分でいくつかテストを加えてからTDDでコード書くのがいいかな

  • スコア:0.00 + 0.00 + 0.00 + (50*0-25*0) = 0.00
  • 順位:303位/505人
  • レート:1957→1819

ここまで上がってるとさすがに0点では大きく落ちるなー。適正レーティングに戻りました。