Hatena::Grouptopcoder

iwbtr - kmats このページをアンテナに追加 RSSフィード

2012-02-24

TopCoder SRM534 Div2 反省

| 23:39 | TopCoder SRM534 Div2 反省 - iwbtr - kmats を含むブックマーク はてなブックマーク - TopCoder SRM534 Div2 反省 - iwbtr - kmats TopCoder SRM534 Div2 反省 - iwbtr - kmats のブックマークコメント

Div. Place: 282/943

Points: 353.65

Solved:oo-

Challenge: 1 failed

Rating: 940 -> 964 (+24)


250で許されざる時間ロス&チャレンジ失敗.何とか500を通したものの,その500も糞コードすぎて解いた気がしない・・

20分後のCodeforcesも頑張ります.


534 Div2 250

ただイテレータスワップするだけ.するだけだったのだが・・


後ろ2つが"."か".."であることを確認するために

vector<string>::iterator it = files.end();
advance(it, -1);

等とするところを,

it = advance(it, -1);

としてたorzorzorz


一発で解けなかった時点で半分パニック状態に陥り,大幅に時間ロスしてしまった・・

イテレータの基本的な使い方を復習しないと・・


どう見ても撃墜できるだろう,という回答が一つあったのに弾かれた.

Codeforcesが終わってから要確認.


534 Div2 500

"o"マーク(checker)を左から右に移動させていき,移動できなくなった方が負けるゲーム.

対戦形式のゲームなのでミニマックス法的な考え方が必要なのかと思いきや,今回は特に各プレイヤーの最適解を考える必要はなく,操作する人が一人だけと考えてしまって良い.

  1. 最も左のチェッカーを操作対象として選ぶ
  2. 右端に到達するか,他のチェッカーが邪魔で移動できなくなるまで移動させる
  3. まだチェッカーが残っていれば1に戻る
  4. 全てのチェッカーを移動し終わったら,操作回数の偶奇で勝利プレイヤーを判定する.

またもや実装しながら考えていたため,二度と見たくないような糞コード爆誕.

なぜか2度もチャレンジされてた.


534 Div2 1000

ちらっと問題文を読むも,解いた人がほとんどいなかったため投げた.

結果的に0%..


反省点

  • イテレータの扱い方を忘れていた
  • 考えながら実装した

教訓

  • 基礎的な文法やアルゴリズムを復習すべし
  • せめて大まかな方針を固めてから実装し始める