1656: 卡牌计分
金币值:2
定数:1
时间限制:1.000 s
内存限制:128 M
正确:0
提交:0
正确率:0.00% 命题人:
题目描述
这天小明做了一副牌,每张牌的牌面上都印有A 、H 、P 、C之中的一个字母。打牌时,每人将自己的牌排成一列,如:AHPCPCAHPCPCAHA 。对于给定的一列牌,其得分按照以下规则计算。
• 对每种牌面, 得分为出现次数的二次幂 。例如在上述序列中,A出现了4次, 得分是16;H 出现 了3次,得分是9;P 出现了4次,得分是16;C出现了4次,得分是16 。
• 对卡牌任意重排,每组成一组AHPCPC特殊字母序列,得7分。例如上述序列中的卡牌可以拼出2组 特殊序列,得分是14 。
将以上各项得分加总,就得到这列牌的总得分。例如,上面这列牌的总得分是71 。
另外,小明还会拿到m张空白牌,他可以在卡牌上写上A 、H 、P 、C之中的一个字母,并将那张空白牌当 作对应种类的牌计分。不同的空白牌可以写上不同的字母,但每张空白牌写上的字母在确定后就不能更 改。
现在,小明有n张普通牌 。他希望知道,如果合理使用m张空白牌,这n + m张牌的得分最高能达到多少?
输入格式
输入的第1行是两个整数n, m,分别表示普通牌和空白牌的数量。 接下来1行,包含1个长度为n的字符串,描述普通牌的牌面。
• 1 ≤ n ≤ 200
• 0 ≤ m ≤ 50
• 字符串中仅包含A 、H 、P 、C四种字符
• 有20%的数据,m = 0
输出格式
输出1行1个整数,表示n + m张牌的最高得分。
输入样例 复制
15 0
AHPCPCAHPCPCAHA
输出样例 复制
71