B - ロイヤルストレートフラッシュ
Editorial
/
入力は以下の形式で標準入力から与えられる。
ロイヤルストレートフラッシュを最短で作ったときの捨て札を表す文字列を 1 行で出力せよ。
捨て札はカードを捨てた順に記述する必要がある。
捨て札が無い場合は、
なお、行の終端には改行が必要である。
Time Limit: 2 sec / Memory Limit: 64 MB
問題文
シャッフルされたトランプの山札が与えられる。
ここからロイヤルストレートフラッシュを作りたい。
山札からカードを 1 枚ずつめくり、手札に入れるか捨てるという操作を繰り返す。
最短でロイヤルストレートフラッシュが完成したときの捨て札を、カードを捨てた順に出力せよ。
なお、初期状態で手札は空とし、ロイヤルストレートフラッシュが完成したとき、手札に余分なカードが存在してはならない。
与えられる山札を表す文字列は、以下のBNFに従う。
<山札> ::= <カード> | <山札> <カード> <カード> ::= <マーク> <番号> <マーク> ::= "S" | "H" | "D" | "C" <番号> ::= "A" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "J" | "Q" | "K"
ロイヤルストレートフラッシュとは、同じマークの「10、J、Q、K、A」の組み合わせのことを言う。
すなわち、「S10, SJ, SQ, SK, SA」、「H10, HJ, HQ, HK, HA」、「D10, DJ, DQ, DK, DA」、「C10, CJ, CQ, CK, CA」のカードの組み合わせ 4 種類がロイヤルストレートフラッシュである。
入力
s
- 山札のカードを表す文字列 s が 1 行で与えられる。
- 山札にはマークと番号の両方が等しいカードの組は存在しない。
- ロイヤルストレートフラッシュを作ることが可能であることが保証される。
出力
捨て札はカードを捨てた順に記述する必要がある。
捨て札が無い場合は、
0
(数字のゼロ) を出力せよ。なお、行の終端には改行が必要である。
入力例 1
CQSAS10SQH10SKSJD3
出力例 1
CQH10
- 「CQ」 と 「H10」 を手札に入れずに捨てると、 7 枚めくった時点で、手札が「SA, S10, SQ, SK, SJ」 の 5 枚となり、ロイヤルストレートフラッシュが完成する。
入力例 2
S10SJSQSKSAC2
出力例 2
0