T1:扑克牌
题目描述 Description
小 P 从同学小 Q 那儿借来一副 n 张牌的扑克牌。
本题中我们不考虑大小王,此时每张牌具有两个属性:花色和点数。花色共有 4种:
方片、草花、红桃和黑桃。点数共有 13 种,从小到大分别为A 2 3 4 5 6 7 8 9 T J Q K。注意:点数 10 在本题中记为 T。
我们称一副扑克牌是完整的,当且仅当对于每一种花色和每一种点数,都恰好有一张牌具有对应的花色和点数。由此,一副完整的扑克牌恰好有4x13=52 张牌。以下图片展示了一副完整的扑克牌里所有的 52 张牌:

小P借来的牌可能不是完整的,为此小P准备再向同学小S借若干张牌。可以认为小S每种牌都有无限张,因此小P可以任意选择借来的牌。小P想知道他至少得向小S借多少张牌,才能让从小S和小Q借来的牌中,可以选出 52 张牌构成一副完整的扑克牌。
为了方便你的输入,我们使用字符D代表方片,字符C代表草花,字符H代表红桃,字符S代表黑桃,这样每张牌可以通过一个长度为2的字符串表示,其中第一个字符表示这张牌的花色,第二个字符表示这张牌的点数,例如 CA 表示草花 A,ST 表示黑桃 T(黑桃 10)。
输入描述 Input Description
从文件 poker.in 中读入数据。
输入的第一行包含一个整数 n 表示牌数。
接下来 n 行:
每行包含一个长度为 2 的字符串描述一张牌,其中第一个字符描述其花色,第二个字符描述其点数。
输出描述 Output Description
输出到文件 poker.out 中。
输出一行一个整数,表示最少还需要向小 S 借几张牌才能凑成一副完整的扑克牌。
样例输入 Sample Input
样例输入1 1 SA 样例输入2 4 DQ H3 DQ DT
样例输出 Sample Output
样例输出1 51 样例输出2 49
数据范围及提示 Data Size & Hint
【样例 1 解释】
这一副牌中包含一张黑桃 A,小 P 还需要借除了黑桃 A 以外的 51 张牌以构成一副完整的扑克牌。
【样例 2 解释】
这一副牌中包含两张方片 Q、一张方片 T(方片 10)以及一张红桃 3,小 P 还需要借除了红桃 3、方片 T 和方片 Q 以外的 49 张牌。
【数据范围】
对于所有测试数据,保证:1≤n≤52,

最低0.47元/天 解锁文章
1568

被折叠的 条评论
为什么被折叠?



