统计频率最高的,然后从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
    }
}