148. 扑克牌同花顺
内存限制:256 MB
时间限制:1.000 S
题目描述
小红最近迷上了纸牌游戏。纸牌有四种花色:黑桃 (Spade, 'S')、红桃 (Heart, 'H')、方块 (Diamond, 'D') 和梅花 (Club, 'C')。每张纸牌上都有一个正整数表示其大小。
小红手里有许多牌,她准备玩以下游戏:每次从牌堆中任意选取 5 张牌,计算这 5 张牌的分数,然后将这些牌丢弃(丢弃的牌不可再次选取)。
为了简化,本题仅计算“同花顺”这一牌型的分数:如果选出的 5 张牌构成同花顺,则可以获得 1 分。其他牌型均不得分。
所谓同花顺,即五张牌的花色相同,且按大小排序后满足 ai + 1 = a(i+1)。例如,♦️2 ♦️3 ♦️4 ♦️5 ♦️6 即为同花顺。如果牌的花色不同,则不算作同花顺,例如,♣️2 ♦️3 ♦️4 ♦️5 ♠️6。
小红想知道,经过若干次操作后,自己最多可以得到多少分。请注意,同一个牌型可能出现多次。
输入
第一行输入一个正整数 n(1 <= n <= 10^5),表示牌堆中牌的种类数(如果两张牌的花色或数值不同,则认为是不同的种类)。
接下来的 n 行,每行输入三个正整数 ai 和 cnti,以及一个字符 ci(1 <= ai, cnti <= 10^9,ci ∈ {'S','H','D','C'}),分别表示每种牌的大小、数量以及花色。
保证每种牌的种类在输入中只出现一次。
输出
输出一个整数,表示小红最多可以得到的分数。
样例输入 复制
6
1 1 S
2 2 S
3 2 S
4 2 S
5 2 S
1 10 H
样例输出 复制
1
提示
可以取到一个同花顺:[1S,2S,3S,4S,5S]。虽然有 10 个红桃 1,但无法和其他牌凑成同花顺。