#1589. 扑克牌(poker)
扑克牌(poker)
题目描述
小 P 从同学小 Q 那儿借来一副 张牌的扑克牌。
本题中我们不考虑大小王,此时每张牌具有两个属性:花色和点数。花色共有 种:方片、草花、红桃和黑桃。点数共有 种,从小到大分别为 A 2 3 4 5 6 7 8 9 T J Q K
。注意:点数 10
在本题中记为 T
。
我们称一副扑克牌是完整的,当且仅当对于每一种花色和每一种点数,都恰好有一张牌具有对应的花色和点数。由此,一副完整的扑克牌恰好有 张牌。以下图片展示了一副完整的扑克牌里所有的 52 张牌。
小 P 借来的牌可能不是完整的,为此小 P 准备再向同学小 S 借若干张牌。可以认为小 S 每种牌都有无限张,因此小 P 可以任意选择借来的牌。小 P 想知道他至少得向小 S 借多少张牌,才能让从小 S 和小 Q 借来的牌中,可以选出 52 张牌构成一副完整的扑克牌。
为了方便你的输入,我们使用字符 D
代表方片,字符 C
代表草花,字符 H
代表红桃,字符 S
代表黑桃,这样每张牌可以通过一个长度为 的字符串表示,其中第一个字符表示这张牌的花色,第二个字符表示这张牌的点数,例如 CA
表示草花 A
,ST
表示黑桃 T
(黑桃 10
)。
输入格式
从文件 poker.in
中读入数据。
输入的第一行包含一个整数 表示牌数。
接下来 行:
每行包含一个长度为 的字符串描述一张牌,其中第一个字符描述其花色,第二个字符描述其点数。
输出格式
输出到文件 poker.out
中。
输出一行一个整数,表示最少还需要向小 S 借几张牌才能凑成一副完整的扑克牌。
1
SA
51
样例 1 解释
这一副牌中包含一张黑桃 A
,小 P 还需要借除了黑桃 A
以外的 张牌以构成一副完整的扑克牌。
4
DQ
H3
DQ
DT
49
样例 2 解释
这一副牌中包含两张方片 Q
、一张方片 T
(方片 10
)以及一张红桃 3
,小 P 还需要借除了红桃 3
、方片 T
和方片 Q
以外的 张牌。
样例 3
见选手目录下的 poker/poker3.in
与 poker/poker3.ans
。
样例 3 解释
这一副扑克牌是完整的,故不需要再借任何牌。
该样例满足所有牌按照点数从小到大依次输入,点数相同时按照方片、草花、红桃、黑桃的顺序依次输入。
数据范围
对于所有测试数据,保证:,输入的 个字符串每个都代表一张合法的扑克牌,即字符串长度为 ,且第一个字符为 D C H S
中的某个字符,第二个字符为 A 2 3 4 5 6 7 8 9 T J Q K
中的某个字符。
测试点编号 | 特殊性质 | |
---|---|---|
A | ||
B | ||
无 |
特殊性质 A:保证输入的 张牌两两不同。
特殊性质 B:保证所有牌按照点数从小到大依次输入,点数相同时按照方片、草花、红桃、黑桃的顺序依次输入。