字典 48ms 4692kb

def beautiful(x):
    lst=list(x)
# 输出个数字典
    lst_a=set(lst)
    lst_num=[]
    for i in lst_a:
        a=lst.count(i)
        lst_num.append(a)
# 输出字典从大到小排序
    dic={lst_a:lst_num for lst_a,lst_num in zip(lst_a,lst_num)}
    dic=sorted(dic.items(),key=lambda x:x[1],reverse=True)
# 计算漂亮数
    num=26
    count=0
    for i in range(len(lst_a)):
        num_i=dic[i][1]
        count+=num*num_i
        num-=1
    return(count)
while 1:
    try:
        a=int(input())
        for j in range(a):
            b=input()
            print(beautiful(b))
    except:
        break