すごろくメニューのサムネイル
すごろくシミュレーション 8 VB(Beta)編(paizaランク A 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

新たに「一回休みイベントマス」を導入します。
一回休みイベントマスに止まった場合、次のターンそのプレイヤーはサイコロを振って移動することができません。

K 人で T ターンのゲームを行います。
各ターンではプレイヤー 1 → プレイヤー 2 → ... プレイヤー K の順で行動します。
サイコロは 1 ~ 6 の数字が等確率で出ます。
いまからサイコロを振って、T ターンにわたる K 人のすごろくをシミュレーションし、すごろくの出た目と各ターン後の各プレイヤーのマスの位置と所持金を出力してください。

ただし、ゴールマスを超えるような移動の場合もゴールマス (マス N) にたどり着いたとします。
ゴールマスにたどり着いたら、それ以降のターンでは移動せず Finished と出力してください。
一回休みのターンでは、Skip と出力してください。
また、移動イベントマスによる移動後のマスではイベントは発生しないものとします。
さらに、移動マスで移動する際にスタートマス (マス 1) より前に戻ることはないことが保証されます。

入出力例 1 では、プレイヤー 2 は以下のように行動しましています。
・サイコロを振って 1 が出る。マス 2 に移動する。マス 2 は一回休みイベントマスであるため、次のターンは一回休みになる。
・一回休みなので Skip を出力する。
・一回休みが終わったので、通常通りにサイコロを振って移動する。サイコロを振って 3 が出たので、マス 5 に移動する。

入力される値

入力は以下のフォーマットで与えられます。

N T K
B_1 C_1
B_2 C_2
...
B_N C_N


・1 行目には 3 つの整数 N, T, K が与えられます。
・続く N 行の i 行目には、すごろくの i マス目の種類 B_i と数字 C_i が与えられます。
・入力は N+1 行となり、末尾に改行が 1 つ入ります。


入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。 標準入力からの値取得方法はこちらをご確認ください
期待する出力

期待する出力は T × K 行からなります。
各ターンの出力はプレイヤー 1 から順に、プレイヤーの番号とすごろくの目、ターン終了時のマス、所持金を空白区切りで出力します。
ただし、そのターン一回休みのプレイヤーはプレイヤーの番号と Skip を出力してください。
また、ターン開始時にゴールマスにいるプレイヤーは、プレイヤーの番号と Finished を出力してください。
これを 1, 2, ..., T ターンの順に出力してください。

条件

すべてのテストケースにおいて、以下の条件をみたします。

・2 ≦ N ≦ 100
・1 ≦ T ≦ 100
・2 ≦ K ≦ 10
・B_1 = "S" (スタートマス), C_1 = 0
・B_N = "G" (ゴールマス), C_N = 0
・B_i = "P" (所持金イベントマス) または "M" (移動イベントマス) または "Z" (一回休みイベントマス) (2 ≦ i ≦ N-1)
・B_i = "P" のとき、-100 ≦ C_i ≦ 100
・B_i = "M" のとき、-10 ≦ C_i ≦ 10 かつ i + C_i ≧ 1 かつ C_i ≠ 0
・B_i = "Z" のとき、C_i = 0

入力例1

10 3 2
S 0
Z 0
P 81
P 11
P 75
Z 0
M 1
M 4
M -4
G 0

出力例1

1 6 8 0
2 1 2 0
1 1 5 0
2 Skip
1 6 10 0
2 3 5 75

入力例2

15 5 3
S 0
P -82
M 9
M 5
M -2
Z 0
M 9
M 1
Z 0
Z 0
P 15
Z 0
P -100
Z 0
G 0

出力例2

1 6 15 0
2 1 2 -82
3 1 2 -82
1 Finished
2 6 9 -82
3 3 5 -82
1 Finished
2 2 11 -67
3 2 15 -82
1 Finished
2 2 13 -167
3 Finished
1 Finished
2 6 15 -167
3 Finished

入力例3

25 5 4
S 0
M 4
Z 0
Z 0
M 2
P -67
M 5
P -82
P 23
Z 0
Z 0
P -76
Z 0
Z 0
M -7
M 8
Z 0
P -91
Z 0
Z 0
P -88
M 2
P 66
M -5
G 0

出力例3

1 6 12 0
2 1 6 0
3 1 6 0
4 6 12 0
1 3 8 0
2 2 8 -82
3 2 8 -82
4 2 14 0
1 6 14 0
2 1 9 -59
3 6 14 -82
4 Skip
1 Skip
2 6 8 -59
3 Skip
4 5 19 0
1 1 8 0
2 5 13 -59
3 4 18 -173
4 Skip

問題一覧へ戻る

  1. paizaトップ
  2. レベルアップ問題集
  3. すごろくメニュー(言語選択)
  4. 問題一覧 VB(Beta)編
  5. すごろくシミュレーション 8 VB(Beta)編
ページの先頭へ戻る