#THU20242B. Balatro

    ID: 217 Type: Default 1000ms 256MiB Tried: 1 Accepted: 1 Difficulty: 3 Uploaded By: Tags>清华推研机试考研调剂搜索全排列模拟STL

Balatro

时间限制: 1.0 秒

空间限制: 512 MB

题目描述

小瑾最近迷上了一款名为《Balatro》的游戏。

《Balatro》以风靡全球的德州扑克玩法为灵感,玩法简单却非常容易令人上瘾。在每局游戏中,玩家会获得 n (n8)n~(n\le 8) 张不同的扑克牌作为手牌,每张扑克牌有花色和点数两种属性,其中花色为黑桃(S\texttt{S})、红桃(H\texttt{H})、梅花(D\texttt{D})、方块(C\texttt{C}),点数从小到大为 23456789XJQKA\texttt{23456789XJQKA}注意:点数 1010 在本题中记为 X\texttt{X}。在每次出牌中,玩家可以选择 151\sim 5 张牌打出,出牌后系统将计算得分。

具体地,游戏存在 99 种不同的牌型,每一种牌型对应着不同的基础筹码和倍率,每种牌型的说明如下:

牌型名称 说明 基础筹码 倍率
同花顺 55 张点数连续且花色相同的牌一同打出,全部计分。 100100 88
四条 44 张点数相同的牌计分,可以与最多 11 张其他未计分的牌一同打出。 6060 77
葫芦 三条及对子,33 张点数相同的牌与另外 22 张点数相同的牌一同打出,全部计分。 4040 44
同花 55 张花色相同的牌一同打出,全部计分。 3535 44
顺子 55 张点数连续的牌一同打出,全部计分。 3030 44
三条 33 张点数相同的牌计分,可以与最多 22 张其他未计分的牌一同打出。 3030 33
两对 22 组不同点数的对子共计 44 张牌计分,可以与最多 11 张其他未计分的牌一同打出。 2020 22
对子 22 张点数相同的牌计分,可以与最多 33 张其他未计分的牌一同打出。 1010 22
高牌 如果打出的牌不满足其他任何牌型,那么只有点数最高的牌计算得分。 55 11

如果出牌满足多种牌型,则牌型为从上至下最先满足的类型。其中“点数连续”是指在按照游戏规定当中的点数从小到大分布是连续的。特殊地,点数为 A2345\texttt{A2345} 的五张牌不构成顺子,也无法构成同花顺。

系统根据打出的牌确定牌型和参与计分的牌,在确定完基础筹码和倍率后,系统将根据玩家打出的手牌计算最终筹码。玩家打出的每一张参与计分的手牌可以增加筹码,点数为 23456789X\texttt{23456789X} 的牌增加点数对应数值的筹码,点数为 JQK\texttt{JQK} 的牌可以增加 1010 点筹码,点数为 A\texttt{A} 的牌增加 1111 点筹码。出牌的得分定义为:最终筹码×倍率。

小瑾找到了你,请你告诉他在一次出牌中能获得的最高分是多少。

注意:游戏规则请以本题面描述为准。

输入格式

从标准输入读入数据。

第一行一个整数 nn,表示手牌的数量。

接下来 nn 行每行两个字符,用空格隔开,分别表示花色和点数。第一个字符表示花色,S\texttt{S} 表示黑桃,H\texttt{H} 表示红桃,D\texttt{D} 表示方块,C\texttt{C} 表示梅花;第二个字符代表点数,为 23456789XJQKA\texttt{23456789XJQKA} 中的一个。

输出格式

输出到标准输出。

输出一个整数,表示在一次出牌中能获得的最高得分。

3
S 2
H 2
C A
28

样例 1 解释

一共有 33 张牌,小瑾可以选择其中的 131\sim 3 张牌可以打出。

仅选择任意 11 张牌打出的话,均为高牌。选择梅花 A\texttt{A} 的分数最大,此时的基础筹码为 55,额外筹码为 1111 ,倍率为 11。可以获得的分数为 (5+11)×1=16(5+11)\times 1=16

选择其中的 22 张牌打出的话,选择黑桃 2\texttt{2} 和红桃 2\texttt{2} 共同打出则为对子。此时基础筹码为 1010,额外筹码为两张 22 的点数和,倍率为 22。可以获得的分数为 (10+2+2)×2=28(10+2+2)\times 2=28

如果 33 张牌全部打出的话,其效果和仅打出一组对子是一致的,因为只有参与计分的两张牌参与到额外筹码的计算。此时的分数同样是 2828。故小瑾最多可以获得 2828 分。

8
S X
H X
C X
C 9
D 3
D 7
S 3
S A
304

样例 2 解释

由于至多只能选择 55 张牌,选择第 1,2,3,5,71,2,3,5,7 张牌打出可以构成葫芦,此时可以获得的分数为 (40+10+10+10+3+3)×4=304(40+10+10+10+3+3)\times 4=304。不难得出这是小瑾在所有可打出牌型中可以获得的最大分数。

子任务

对于全部数据,n8n\le 8,保证所有手牌中不存在两张花色和点数都相同的牌。

测试点编号 数据范围 其他限制
121\sim 2 n=1n=1
343\sim 4 n=2n=2
565\sim 6 n=3n=3
787\sim 8 n=4n=4
9109\sim 10 n=5n=5
111211\sim 12 n8n\le 8 所有手牌花色相同
131413\sim 14 所有手牌数字不同
152015\sim 20