解説
まずはマスの数 N を受け取り、次に各マスに書かれた Mi をリストで受け取ります。
このときリスト M はインデックス 0 から始まるのに対し、マス i は 1 から始まることに注意しましょう。
Tanaka 君の現在いるマスは、それまでに行ったけんけんとけんけんぱの回数によって変わってくるため、for 文ではなく while 文で管理すると解きやすくなります。
ゲームが終了するまで各マスで以下の手順通りに判定を行います。
Tanaka 君がマス i にいるとき、
- Mi=0 ならば、落とし穴に落ちてゲームが終了します。
- Mi=1 ならば、けんけんをしてマス i+1 に進みます。
- Mi=2 ならば、けんけんぱをして i+2 に進みます。このとき、マス i+1 の判定は行われません。
- i+1 もしくは i+2 が N を越えた時、ゲームを終了します。
これらの手順を繰り返し、けんけんとけんけんぱの回数をカウントしていきます。
解答例
解答例(C)
解答例(C++)
解答例(Python)