#LQ1079. 21点游戏
21点游戏
题目描述
在 21 点游戏中,玩家的目标是使手中牌的点数总和尽可能接近21点,但不能超过 21 点。
游戏采用一副去除大小王的扑克牌,其中包含 13 种牌面(A、2、3、4、5、6、7、8、9、10、J
、Q
、K
),每种牌面有 4 张。
牌的点数定义如下:
1)A
可以代表 1 点或 11 点;
2)J
、Q
、K
均代表 10 点;
3)牌面 2~10 代表的点数与其牌面相同(例如:2 代表 2 点,3 代表 3 点,以此类推)。
给定一个字符串 ,表示你手中的牌。请将这些牌的点数累加(如果手中的牌有 A
,你可以单独调整其中每一个 A
的点数),并计算在不超过 21 点的情况下,S 的总点数的最大值;如果无论怎么计算都大于 21点,则输出 0。
注:牌面 10 会占用 2 个字符位,其余牌面各占用 1 个字符位。
例 1: A3A4
; 的总点数的最大值是 19(其中一个 A
代表 1 点,另一个 A
代表 11 点),即 1 + 3 + 11 + 4。
例 2: = A10J
; 的总点数的最大值是 21(A
代表 1 点,中间的 "10" 代表 10 点,J
也代表 10 点),即 1 + 10 + 10。
例 3:S = AJQK
;无论 A
代表 1 点还是 11 点, 的总点数都大于 21,故输出 0
输入
输入一个仅包含 13 种牌面的字符串 ,其中相同的牌不会超过 4 张
输出
输出一个整数,表示 的总点数的最大值,如果无论怎么计算都大于 21 点,则输出0。
A3A4
19
提示