https://vjudge.net/problem/UVA-10062
注意写法
#include<iostream>
#include<cstdio>
#include<string>
#include<vector>
#include<cstring>
#include<algorithm>
using namespace std;
char s[2000];
const int N=200;
struct AA{
int key;
int sum;
AA(int k,int s):key(k),sum(s){}
};
bool cmp(AA a,AA b){
if(a.sum==b.sum)return a.key>b.key;
return a.sum<b.sum;
}
int sum[200];
int main(){
int z=1;
while(gets(s)){
if(z==1)z++;
else puts("");
memset(sum,0,sizeof(sum));
int len=strlen(s);
for(int i=0;i<len;i++)
sum[s[i]]++;
vector<AA> v;
for(int i=0;i<200;i++)
if(sum[i])v.push_back(AA(i,sum[i]));
sort(v.begin(),v.end(),cmp);
for(int i=0;i<v.size();i++)
printf("%d %d\n",v[i].key,v[i].sum);
}
}