問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
(はじめに)
カードカウンティングの目的は、山札の状況に応じてベット額を調整し、有利なときに大きく勝つことです。
今回は、スコアに応じて実際にベット額を変動させるシミュレーションを行いましょう。
ルールは以下の通りです。
・ 1回目のゲームを行う前のカウント(スコア)は 0 です。
・ 使ったカードは捨てていきます(山札には戻りません)。
・ i 回目のゲームのベット額は、そのゲームを始める時のスコアを使って以下の式で決定します。
ベット額 = X + A × スコア
(問題)
基準となる賭け金 X、変動係数 A、ゲーム回数 N が与えられます。
続いて N 回分のゲームの手札情報(プレイヤーの手札、親の手札)が与えられます。
各ゲームで使用されたカードをもとにスコアを更新しながら、それぞれのゲームでのベット額を出力してください。
なお、計算結果のベット額がマイナスになる場合は、0 を出力してください。
なお、カウンティングの計算ルールは前回と同じです。
・ 2, 3, 4, 5, 6: +1点
・ 7, 8, 9: 0点
・ 10, J, Q, K, A: -1点
X A N
K_1 p_{1,1} ... p_{1,K_1}
L_1 d_{1,1} ... d_{1,L_1}
...
K_N p_{N,1} ... p_{N,K_N}
L_N d_{N,1} ... d_{N,L_N}
各ゲームのベット額を N 行出力してください。
計算結果のベット額がマイナスになる場合は、0 を出力してください。
すべてのテストケースにおいて、以下の条件をみたします。
・1 ≦ X ≦ 1000
・1 ≦ A ≦ 100
・1 ≦ N ≦ 6
・カードはジョーカーを除く 52 枚のトランプから配られ、1度使われたカードは再出現しない
・カードの総数は52枚を超えない
100 20 2
3 H10 DJ CK
2 SA HQ
2 H2 D3
2 S4 C5
100
0
50 10 3
2 H2 H3
2 D4 D5
2 H7 H8
2 S9 C7
2 HA HK
2 SQ CJ
50
90
90