1 #include<bits/stdc++.h>
2 using namespace std;
3 struct NODE{
4 int num;
5 string str;
6 }node[1005];
7 bool cmp(NODE x,NODE y){return x.str<y.str;}
8 int main()
9 {
10 int n,k;string obj;bool flag;
11 while(cin>>n){
12 getchar();k=-1;
13 for(int i=0;i<n;++i)node[i].num=0;
14 while(n--){
15 cin>>obj;flag=false;
16 for(int i=0;i<=k;++i){
17 if(node[i].str==obj){
18 node[i].num++;flag=true;break;//表示有重复字符串
19 }
20 }
21 if(!flag){node[++k].str=obj;node[k].num++;}//如果没有重复的话,加入结构体数组中去
22 }
23 sort(node,node+k+1,cmp);//按字典序排序
24 for(int i=0;i<=k;++i)
25 cout<<node[i].str<<' '<<node[i].num<<endl;
26 }
27 return 0;
28 }