けんけんぱゲーム

2 secs 1024 MB
FUN_moti's icon FUN_moti

解説

まずはマスの数 NN を受け取り、次に各マスに書かれた MiM_i をリストで受け取ります。
このときリスト MM はインデックス 00 から始まるのに対し、マス ii11 から始まることに注意しましょう。

TanakaTanaka 君の現在いるマスは、それまでに行ったけんけんとけんけんぱの回数によって変わってくるため、for 文ではなく while 文で管理すると解きやすくなります。

ゲームが終了するまで各マスで以下の手順通りに判定を行います。
TanakaTanaka 君がマス ii にいるとき、

  • Mi=0M_i = 0 ならば、落とし穴に落ちてゲームが終了します。
  • Mi=1M_i = 1 ならば、けんけんをしてマス i+1i + 1 に進みます。
  • Mi=2M_i = 2 ならば、けんけんぱをして i+2i + 2 に進みます。このとき、マス i+1i + 1 の判定は行われません。
  • i+1i + 1 もしくは i+2i + 2NN を越えた時、ゲームを終了します。

これらの手順を繰り返し、けんけんとけんけんぱの回数をカウントしていきます。

解答例

解答例(C)

解答例(C++)

解答例(Python)