SHAOXIAOJ正在加载中...

1656: 卡牌计分

金币值:2 定数:1 时间限制:1.000 s 内存限制:128 M
正确:0 提交:0 正确率:0.00% 命题人:
点赞量:0 收藏量:0 题目类型:程序 知识点: 程序设计比赛

题目描述

这天小明做了一副牌,每张牌的牌面上都印有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