#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
bool cmp(int x,int y){//将sort改成从大到小排序
return x>y;
}
int main(){
int n;
cin >> n;
string str;
vector<string> vec;
for(int i = 0; i < n; i++){
cin >> str;
vec.push_back(str);
}
for(int i = 0; i < n; i++){
int cnt = 0;//统计zimu容器中 非零元素的个数
int sum = 0;
vector<int> zimu(26);//注意这个不能在函数外定义,因为无法实现清零,clear()函数也不可以将vector清零
for(int j = 0; j < vec[i].size(); j++){
(zimu[vec[i][j]-'a'])++;
}
for(int k = 0; k < 26; k++){
if(zimu[k] != 0){
cnt++;
}
}
sort(zimu.begin(),zimu.end(),cmp);
for(int m = 0; m < cnt; m++){
sum += zimu[m]*(26-m);
}
cout << sum << endl;
}
}
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
bool cmp(int x,int y){//将sort改成从大到小排序
return x>y;
}
int main(){
int n;
cin >> n;
string str;
vector<string> vec;
for(int i = 0; i < n; i++){
cin >> str;
vec.push_back(str);
}
for(int i = 0; i < n; i++){
int cnt = 0;//统计zimu容器中 非零元素的个数
int sum = 0;
vector<int> zimu(26);//注意这个不能在函数外定义,因为无法实现清零,clear()函数也不可以将vector清零
for(int j = 0; j < vec[i].size(); j++){
(zimu[vec[i][j]-'a'])++;
}
for(int k = 0; k < 26; k++){
if(zimu[k] != 0){
cnt++;
}
}
sort(zimu.begin(),zimu.end(),cmp);
for(int m = 0; m < cnt; m++){
sum += zimu[m]*(26-m);
}
cout << sum << endl;
}
}