#include <iostream>
#include <sstream>
#include <string>
#include <map>
#include <utility>
#include <vector>
#include <algorithm>
using namespace std;
typedef pair<char, int> PAIR;
int cmp(const PAIR& x, const PAIR& y);
vector<int> sumv;
int main()
{
int N,i;
//cout<<"输入N和名字:"<<endl;
cin>>N;
string str;
for (i=0;i<N;i++)
{
//size_type len = str[i].size();
cin>>str;
char c;
map<char, int> mc_cnt;
istringstream istr(str);
while (istr>>c)
{
pair< map<char, int>::iterator, bool > res
= mc_cnt.insert(make_pair(c,1));
if (!res.second)
++res.first->second;
}
vector<PAIR> vec;
for (map<char,int>::iterator curr = mc_cnt.begin();
curr != mc_cnt.end(); ++curr)
{
vec.push_back(make_pair(curr->first, curr->second));
}
sort(vec.begin(), vec.end(), cmp);
/*
cout<<"按value排序后字符串中的字符及其个数: \n>>>"
<<str[i]<<"<<<\n:统计如下: "<<endl;
for ( vector<PAIR>::iterator m_it = vec.begin();
m_it != vec.end(); ++m_it)
{
cout<<m_it->first<<"\t"<<m_it->second<<endl;
}*/
int sum=0;
int j=0;
for ( vector<PAIR>::iterator m_it = vec.begin();
m_it != vec.end(); ++m_it)
{
sum = sum +m_it->second*(26-j);
j++;
}
//cout<<sum<<endl;
sumv.push_back(sum);
}
for ( vector<int>::iterator it = sumv.begin();
it != sumv.end(); ++it)
{
cout<<*it<<endl;
}
return 0;
}
int cmp(const PAIR& x, const PAIR& y)
{
return x.second > y.second;
return 0;
}
#include <sstream>
#include <string>
#include <map>
#include <utility>
#include <vector>
#include <algorithm>
using namespace std;
typedef pair<char, int> PAIR;
int cmp(const PAIR& x, const PAIR& y);
vector<int> sumv;
int main()
{
int N,i;
//cout<<"输入N和名字:"<<endl;
cin>>N;
string str;
for (i=0;i<N;i++)
{
//size_type len = str[i].size();
cin>>str;
char c;
map<char, int> mc_cnt;
istringstream istr(str);
while (istr>>c)
{
pair< map<char, int>::iterator, bool > res
= mc_cnt.insert(make_pair(c,1));
if (!res.second)
++res.first->second;
}
vector<PAIR> vec;
for (map<char,int>::iterator curr = mc_cnt.begin();
curr != mc_cnt.end(); ++curr)
{
vec.push_back(make_pair(curr->first, curr->second));
}
sort(vec.begin(), vec.end(), cmp);
/*
cout<<"按value排序后字符串中的字符及其个数: \n>>>"
<<str[i]<<"<<<\n:统计如下: "<<endl;
for ( vector<PAIR>::iterator m_it = vec.begin();
m_it != vec.end(); ++m_it)
{
cout<<m_it->first<<"\t"<<m_it->second<<endl;
}*/
int sum=0;
int j=0;
for ( vector<PAIR>::iterator m_it = vec.begin();
m_it != vec.end(); ++m_it)
{
sum = sum +m_it->second*(26-j);
j++;
}
//cout<<sum<<endl;
sumv.push_back(sum);
}
for ( vector<int>::iterator it = sumv.begin();
it != sumv.end(); ++it)
{
cout<<*it<<endl;
}
return 0;
}
int cmp(const PAIR& x, const PAIR& y)
{
return x.second > y.second;
return 0;
}