题库/J0109

#J0109. 【24CSPJ普及组】扑克牌(poker)

    传统题 难度: 入门 标签>一本通集合、交并补与成员关系频次统计与桶计数
时间限制1000 ms
内存限制128 MiB
通过率—0 / 0 次提交
题目描述 查看题解 开始编程Alt+E

J0109 · 【24CSPJ普及组】扑克牌(poker)

退出在线编程模式
入门 读懂题意,让每一次思考成为成长。
时间限制1000 ms
内存限制128 MiB
通过率—0 / 0 次提交

题目描述

小 P 从同学小 Q 那儿借来一副 nn 张牌的扑克牌。 本题中我们不考虑大小王,此时每张牌具有两个属性:花色和点数。花色共有 44 种:方片、草花、红桃和黑桃。点数共有 1313 种,从小到大分别为 A 2 3 4 5 6 7 8 9 T J Q K。注意:点数 1010 在本题中记为 TT。 我们称一副扑克牌是完整的,当且仅当对于每一种花色和每一种点数,都恰好有一张牌具有对应的花色和点数。由此,一副完整的扑克牌恰好有 4×13=524 × 13 = 52 张牌。以下图片展示了一副完整的扑克牌里所有的 5252 张牌。 题面插图 小 P 借来的牌可能不是完整的,为此小 P 准备再向同学小 S 借若干张牌。可以认为小 S 每种牌都有无限张,因此小 P 可以任意选择借来的牌。小 P 想知道他至少得向小 S 借多少张牌,才能让从小 S 和小 Q 借来的牌中,可以选出 5252 张牌构成一副完整的扑克牌。 为了方便你的输入,我们使用字符 DD 代表方片,字符 CC 代表草花,字符 HH 代表红桃,字符 SS 代表黑桃,这样每张牌可以通过一个长度为 22 的字符串表示,其中第一个字符表示这张牌的花色,第二个字符表示这张牌的点数,例如 CACA 表示草花AA,STST 表示黑桃 TT(黑桃 1010)。

输入

输入的第一行包含一个整数 nn 表示牌数。 接下来 nn 行: 每行包含一个长度为 22 的字符串描述一张牌,其中第一个字符描述其花色,第二个字符描述其点数。

输出

输出一行一个整数,表示最少还需要向小 S 借几张牌才能凑成一副完整的扑克牌。

输入样例

1
SA

输出样例

51

提示

【样例 1 解释】 这一副牌中包含一张黑桃 AA,小 P 还需要借除了黑桃 AA 以外的 5151 张牌以构成一副完整的扑克牌。 【样例 2 输入】

4
DQ
H3
DQ
DT

【样例 2 输出】

49

【样例 2 解释】 这一副牌中包含两张方片 QQ、一张方片 TT(方片 1010)以及一张红桃 33,小 P 还需要借除了红桃 33、方片 TT 和方片 QQ 以外的 49 张牌。 【数据范围】 对于所有测试数据,保证:1≤n≤521 ≤ n ≤ 52,输入的 nn 个字符串每个都代表一张合法的扑克牌,即字符串长度为 22,且第一个字符为 D C H S中的某个字符,第二个字符为A 2 3 4 5 6 7 8 9 T J Q K中的某个字符。

测试点编号n ≤ 特殊性质
1 1A
2 ∼ 452
5 ∼ 7B
8 ∼ 10无
特殊性质 A:保证输入的 $n$ 张牌两两不同。 特殊性质 B:保证所有牌按照点数从小到大依次输入,点数相同时按照方片、草花、红桃、黑桃的顺序依次输入。

评测数据说明

本题使用按题意独立构造、以独立程序核对的训练数据及公开样例,共5个测试点,非原站或官方原始数据。总分100分。