すごろくメニューのサムネイル
盤面の作成 2 COBOL(Beta)編(paizaランク B 相当)

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

問題

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

新たに「移動イベントマス」を導入したすごろくの盤面を作成します。
移動イベントマスには整数が設定され、移動イベントマスに止まると設定された数字だけさらに移動します。

長さ N の文字列 U が与えられます。
文字列 U の各文字にしたがって N マスのすごろくを作成してください。
S: スタートマス。
G: ゴールマス。
P: 所持金イベントマス。-L 以上 L 以下の整数をランダムに設定する。
M: 移動イベントマス。-K 以上 K 以下の整数をランダムに設定する。

出力例 1 のすごろくでは、マス 2 にとまるとさらに -1 移動しマス 1 に移動します。
マス 3 にとまるとさらに 2 移動しゴールマスを超えるためゴールマスにたどり着きます。
他にも例えば以下のような盤面も正解となります。

S 0
P -10
M -3
M 1
G 0

入力される値

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

N L K
U


・1 行目には 3 つの整数 N, L, K が与えられます。
・2 行目には長さ N の文字列 U が与えられます。
・入力は 1 行となり、末尾に改行が 1 つ入ります。


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

期待する出力は N 行からなります。
i 行目には、すごろくの i マス目を以下の形式にしたがって出力してください (S,G,P,M はアルファベット)。
・スタートマス: S 0
・ゴールマス: G 0
・整数 l が割り当てられた所持金イベントマス: P l
・整数 k が割り当てられた移動マス: M k

条件

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

・2 ≦ N ≦ 100
・1 ≦ L ≦ 100
・1 ≦ K ≦ 10
・U は S,G,P,M からなる長さ N の文字列

入力例1

5 15 3
SPMMG

出力例1

S 0
P 4
M -1
M 2
G 0

入力例2

20 20 10
SPPPPMMMPPPPPPMPPMPG

出力例2

S 0
P -5
P 12
P 18
P -13
M 5
M 6
M 2
P 4
P -14
P -2
P -14
P -16
P -18
M -1
P 15
P -7
M 2
P -15
G 0

問題一覧へ戻る

  1. paizaトップ
  2. レベルアップ問題集
  3. すごろくメニュー(言語選択)
  4. 問題一覧 COBOL(Beta)編
  5. 盤面の作成 2 COBOL(Beta)編
ページの先頭へ戻る