問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
N マスのすごろくの盤面が与えられます。
すごろくの盤面はマス 1 がスタートマス、マス N がゴールマス、それ以外のマスは所持金イベントマスです。
各ターンではすごろくの出た目の数だけ進み、到着したマスのイベントが発生します。
ゲーム開始時は 1 マス目のスタートマスにおり、所持金は 0 です。
これからあなたは T ターンのゲームを行います。
各ターンであなたは 1 ~ 6 が等確率で出るサイコロを振ります。
各ターンのサイコロの出た目と移動後のマス、所持金を出力してください。
ただし、ゴールマスを超えるようなサイコロの目がでた場合もゴールマス (マス N) にたどり着いたとします。
ゴールマスにたどり着いたら、それ以降ターンではサイコロは振らず Finished と出力してください。
実装では、「サイコロの作成 1」の問題のように乱数を用いてサイコロを振る処理を実装してください。
入力例 1 では、例えば以下のように行動できます。
・サイコロを振って 3 が出る。マス 1 からマス 4 に移動する。所持金は 2 増加して 2 になる。
・サイコロを振って 4 が出る。マス 4 からマス 8 に移動する。所持金は 9 減少して -7 になる。
・サイコロを振って 4 が出る。ゴールマスを超える移動になるため、ゴールマス (マス 10) にたどり着く。所持金は変化せず -7。
入力は以下のフォーマットで与えられます。
N T
B_1 C_1
B_2 C_2
...
B_N C_N
期待する出力は T 行からなります。
i 行目には、i ターン目のサイコロの目と終了時のマス、所持金をこの順に空白区切りで出力してください。
ただし、i ターン目開始時にゴールマスにいる場合は Finished と出力してください。
すべてのテストケースにおいて、以下の条件をみたします。
・2 ≦ N ≦ 100
・1 ≦ T ≦ 100
・B_i = "P" (所持金イベントマス)、-100 ≦ C_i ≦ 100 (2 ≦ i ≦ N-1)
・B_1 = "S" (スタートマス), C_1 = 0
・B_N = "G" (ゴールマス), C_N = 0
10 3
S 0
P 1
P -3
P 2
P 4
P -3
P 2
P -9
P 8
G 0
3 4 2
4 8 -7
4 10 -7
15 15
S 0
P 3
P 2
P -2
P -10
P 2
P 3
P -1
P -1
P -34
P 100
P 14
P -32
P 4
G 0
6 7 3
1 8 2
1 9 1
6 15 1
Finished
Finished
Finished
Finished
Finished
Finished
Finished
Finished
Finished
Finished
Finished
10 6
S 0
P 1
P -3
P 2
P 4
P -3
P 2
P -9
P 8
G 0
4 5 4
3 8 -5
5 10 -5