给出一个名字,该名字有26个字符组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。
每个字母都有一个“漂亮度”,范围在1到26之间。没有任何两个不同字母拥有相同的“漂亮度”。字母忽略大小写。

给出多个名字,计算每个名字最大可能的“漂亮度”。

本题含有多组数据。

数据范围:输入的名字长度满足 1 \le n \le 10000 \1n10000 


输入描述:

整数N,后续N个名字

输出描述:

每个名称可能的最大漂亮程度

示例1

输入:
2
zhangsan
lisi
复制
输出:
192
101
#题目思路,是计算最多字符出现次数,按照最达26去计算,即获取输入后存储列表,再把列表中数据转为集合(集合自动去重),把集合中每个元素重复次数存入新列表s2_list,
#再对列表进行sort排序,reserver()反转,这样列表里保存的就算每个名字单个字母最多出现次数,从大到小排序,再根据s3列表保存默认漂亮度【26-1】,与s2_list列表下标
#保持一致,循环处理s2_list列表,即可。
#最后需要确保beautiful和s2_list需要每个


while True:
    try:
        N=int(input())
        s1_list=[]
        s2_list=[]
        s3_list=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]
        while N>0:
            s1_list.append(input())
            N=N-1
        for i in s1_list:
            beautiful=0
            s2_list=[]
            for j in set(i):
                s2_list.append(i.count(j))
            s2_list.sort()
            s2_list.reverse()
            for i in range(len(s2_list)):
                beautiful=beautiful+s2_list[i]*s3_list[25-i]
            print(beautiful)
    except:
        break