对于数ZERO(Z) TWO(W) FOUR(U) SIX(X) EIGHT(G)括号里是标识这些数的特殊的字母,再把这些数都去掉后对于ONE(O),THREE(T),FIVE(F),SEVEN(S)括号里的是识别这几个数的特殊字母,最后NINE(I),特别注意N不行,因为有两个N。最后将所有数转换为原始值再从小到大排个序就ok了。
#include <cstdlib>
#include <cstdio>
#include<iostream>
#include <cstring>
#include<algorithm>
#include <vector>
using namespace std;
int main()
{
int T;
cin>>T;
while(T--)
{
string s;
cin>>s;
vector<int> charnum(256);
vector<int> num(10);
vector<int> result;
for(int i=0;i<s.size();i++)
{
charnum[s[i]]++;
}
num[0]=charnum['Z'];
charnum['Z']=charnum['Z']-num[0];
charnum['E']=charnum['E']-num[0];
charnum['R']=charnum['R']-num[0];
charnum['O']=charnum['O']-num[0];
num[2]=charnum['W'];
charnum['T']=charnum['T']-num[2];
charnum['W']=charnum['W']-num[2];
charnum['O']=charnum['O']-num[2];
num[4]=charnum['U'];
charnum['F']=charnum['F']-num[4];
charnum['O']=charnum['O']-num[4];
charnum['U']=charnum['U']-num[4];
charnum['R']=charnum['R']-num[4];
num[6]=charnum['X'];
charnum['S']=charnum['S']-num[6];
charnum['I']=charnum['I']-num[6];
charnum['X']=charnum['X']-num[6];
num[8]=charnum['G'];
charnum['E']=charnum['E']-num[8];
charnum['I']=charnum['I']-num[8];
charnum['G']=charnum['G']-num[8];
charnum['H']=charnum['H']-num[8];
charnum['T']=charnum['T']-num[8];
num[1]=charnum['O'];
charnum['O']=charnum['O']-num[1];
charnum['N']=charnum['N']-num[1];
charnum['E']=charnum['E']-num[1];
num[3]=charnum['T'];
charnum['T']=charnum['T']-num[3];
charnum['H']=charnum['H']-num[3];
charnum['R']=charnum['R']-num[3];
charnum['E']=charnum['E']-num[3];
charnum['E']=charnum['E']-num[3];
num[5]=charnum['F'];
charnum['F']=charnum['F']-num[5];
charnum['I']=charnum['I']-num[5];
charnum['V']=charnum['V']-num[5];
charnum['E']=charnum['E']-num[5];
num[7]=charnum['S'];
charnum['S']=charnum['S']-num[7];
charnum['E']=charnum['E']-num[7];
charnum['V']=charnum['V']-num[7];
charnum['E']=charnum['E']-num[7];
charnum['N']=charnum['N']-num[7];
num[9]=charnum['I'];
charnum['N']=charnum['N']-num[9];
charnum['I']=charnum['I']-num[9];
charnum['N']=charnum['N']-num[9];
charnum['E']=charnum['E']-num[9];
for(int i=0;i<10;i++)
{
for(int j=0;j<num[i];j++)
{
result.push_back((10+i-8)%10);
}
}
sort(result.begin(),result.end());
for(int i=0;i<result.size();i++)
cout<<result[i];
cout<<endl;
}
return 0;
}