ツバサの備忘録

主に備忘録代わりに精進記録を載せていくつもりです。

ABC109 D - Make Them Even

D - Make Them Even
実装の難易度もみつつ、実装方法を選択できるようにしたいですね。明らかに効率わるいけどまぁいけるでしょう、と思っていたのですが明らかに無謀でした...
提出コード1
提出コード2
もちろんどっちも時間外です!

  • 提出コード1は、コンテスト中に自分の書いたものがバグをとりきれなかったのであきらめて書き直したものです。
    それぞれの行について、左から順に見ていき、今見ている場所が奇数だったら右に渡す、ということを繰り返します。
    一番右側のものは、一つ下のマスに渡せばよいです。
    右下の端のマスだけは、どこに移しても特に変わらないので無視していいです。
    どっからどうみても実装が楽です。

  • 提出コード2は自分がコンテスト中に書いたもので、コンテスト後友人のすずくん(@suzu_prg)にデバッグをお願いしたものになります。
    左上から、右、下、左、上の順に、螺旋を描いていきます。
    今見ているものが奇数であれば、次のマスに1枚渡します。
    バグの原因は、初手から下に進まないといけないケース、つまりWが1の場合でした。
    どっからどうみても実装が重すぎます。

ということで、実装方法も軽いものを選択しないといけない、ということが身に染みた回でした。相変わらずunratedだったので安心です。