统计频率最高的,然后从26开始一直×到没
#include <algorithm>
#include <map>
#include <vector>
using namespace std;
int main() {
int n;
while(cin>>n){
map<char,int> m;
string temp;
for(int i = 0;i<n;i++){
cin>>temp;
for(int x = 0;x<temp.size();x++){
m[temp[x]]++;
}
vector<pair<char,int>> v;
v.assign(m.begin(),m.end());
sort(v.begin(),v.end(),[](const pair<char,int> &lhs,
const pair<char,int> &rhs){
return lhs.second>rhs.second;
});
int max = 26;
int sum = 0;
for(auto it:v){
sum+=it.second*max--;
}
cout<<sum<<endl;
m.clear();
v.clear();
}//for
}
}