ブラックジャックメニューのサムネイル
チップの計算 Perl編(paizaランク B 相当)

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

問題

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

(はじめに)
あなたはチップを賭けてブラックジャックをプレイしています。
ゲームごとのチップの増減をシミュレーションしてみましょう。

勝敗のルール
・ プレイヤーのスコアが 22 以上の場合は、親のスコアに関わらず 負け です。
・ プレイヤーが 21 以下で、親が 22 以上の場合は、 勝ち です。
・ どちらも 21 以下の場合は、スコアが高い方が 勝ち 、同じなら 引き分け です。

また、チップの変動ルールは以下の通りです。
1. 勝ち: 賭けた枚数分、チップが増えます (+M)。
2. 敗け: 賭けた枚数分、チップが減ります (-M)。
3. 引き分け: チップは変動しません (±0)。

(問題)
はじめに持っているチップの枚数 X と、プレイした N 回のゲームの記録(ログ)が与えられます。
各ログには「プレイヤーのスコア K_i」「親のスコア L_i」「賭けた枚数 M_i」が記録されています。
それぞれのゲームについて勝敗を判定し、ゲーム終了時点でのプレイヤーの所持チップ枚数を毎回出力してください。
また、所持チップがマイナスになることもありますが同様に出力してください。

入力される値

X N
K_1 L_1 M_1
K_2 L_2 M_2
...
K_N L_N M_N


1 行目に、初期チップ数 X と、ゲーム回数 N が与えられます。
続く N 行に、各ゲームの記録が与えられます。i 行目の記録は以下の 3 つの整数です。
・ K_i : プレイヤーの最終スコア
・ L_i : 親の最終スコア
・ M_i : 賭けたチップ数


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

各ゲーム終了後のチップの枚数を、N 行出力してください。

条件

すべてのテストケースにおいて、以下の条件をみたします。
・1 ≦ X ≦ 10000
・1 ≦ N ≦ 100
・4 ≦ K_i, L_i ≦ 30
・1 ≦ M_i ≦ 1000

入力例1

100 2
21 17 10
22 17 20

出力例1

110
90

問題一覧へ戻る

  1. paizaラーニングトップ
  2. レベルアップ問題集
  3. ブラックジャックメニュー(言語選択)
  4. 問題一覧 Perl編
  5. チップの計算 Perl編
ページの先頭へ戻る