ABC339 B問題 自分用解説

2024/2/4に開催されたABC339B問題Langton’s Takahashiの自分用解説です。

時間内に解けませんでした。泣

サンプルコード(解説ページからコピペ)

大事そうなとこ解説

line 4 : グリッドの問題でよく使われる、移動を管理する配列です。
   下の図のようにx,y軸をとってるみたいです。

line 10 : 変数mは、今見ている向きを表してます。m=0なら上、1増えるごとに右に90°回転ですね。
   その後のif文で、時計周りに進むときはmに+1、半時計周りの時はm+3してます。
   こういう発想ができなかったなぁー。

line 20,21 : 見る方向は4方向だけなので、4で割った余りで管理。

line 22,23 : グリッドの上下と左右がつながっているので、グリッド範囲外に出たらその分hかwを引いて
     グリッド内に戻してます。

反省

 自分は時計周りと半時計周りで別々に管理しようとしてました。そのせいでいらん配列や変数が増えてごちゃごちゃに…。半時計周りの時はmに+3というのは目から鱗でした。

This article was written by maple

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です