スキルチェック過去問題セットのアイコン
野球の審判 (paizaランク C 相当)

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

問題

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

野球の各打者はストライクが 3 つたまるとアウトとなり、ボールが 4 つたまるとフォアボールとなります。
アウトあるいはフォアボールになると、この打者の番は終了します。

あなたはストライクとボールを判定してコールする審判です。
その場の状況に合わせて適切なコールを出しましょう。

【コール一覧】
ストライクが 1 〜 2 つたまったとき → "strike!"
ストライクが 3 つたまったとき → "out!"
ボールが 1 〜 3 つたまったとき → "ball!"
ボールが 4 つたまったとき → "fourball!"

コールの例



ある打者の番における投球の結果 (ストライクまたはボール) が与えられるので、各投球に対してどのようなコールをすればよいかを出力してください。
なお、実際の野球にあっても上記にないルール (ヒット、ファウルなど) については考慮する必要はありません。


1 球目: ボール → "ball!"
2 球目: ストライク → "strike!"
3 球目: ボール → "ball!"
4 球目: ストライク → "strike!"
5 球目: ストライク → "out!"

5 球目では、ボールが 2 つ、ストライクが 3 つたまったのでこの打者はアウトとなります。
これは、入力例 1 に対応しています。


1 球目: ボール → "ball!"
2 球目: ストライク → "strike!"
3 球目: ボール → "ball!"
4 球目: ボール → "ball!"
5 球目: ストライク → "strike!"
6 球目: ボール → "fourball!"

6 球目では、ストライクが 2 つ、ボールが 4 つたまったのでこの打者はフォアボールとなります。
これは、入力例 2 に対応しています。

入力される値

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

N
s_1
s_2
...
s_n

1 行目に合計の投球数を表す整数 N が与えられます。
続く N 行のうち i 行目 (1 ≦ i ≦ N) に i 番目の投球の結果を表す文字列 s_i が与えられます。i 番目の投球がストライクであれば s_i は "strike"、ボールであれば "ball" となります。
入力は合計で N + 1 行からなり、入力値最終行の末尾に改行が1つ入ります。


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

各投球に対する適切なコールを以下の形で出力してください。

c_1
c_2
...
c_N

期待する出力は N 行からなります。
N 行のうちの i 行目 (1 ≦ i ≦ N) に問題文の条件に即して打者へのコールを表す文字列 c_i を "strike!", "ball!", "out!", "fourball!" のいずれかで出力してください。
出力の N 行目の末尾に改行を 1 つ入れ、余計な文字、空行を含んではいけません。

条件

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

3 ≦ N ≦ 6
s_i (1 ≦ i ≦ N) は英字小文字で構成される文字列で、"strike", "ball" のいずれか。
投球はこの打者の番がちょうど終了するまで続きます。すなわち、最終的にこの打者にはアウトかフォアボールのいずれかが必ず与えられ、それ以降の投球はおこなわれません。

入力例1

5
ball
strike
ball
strike
strike

出力例1

ball!
strike!
ball!
strike!
out!

入力例2

6
ball
strike
ball
ball
strike
ball

出力例2

ball!
strike!
ball!
ball!
strike!
fourball!

問題一覧へ戻る

ページの先頭へ戻る