输入所有字符串之后立刻对所有字符串用sort排序这会使之后的处理简单很多
#include<cstdio>
#include<string>
#include<algorithm>
#include<iostream>
using namespace std;
#define maxn 3000
string str[maxn],country;
bool cmp(string a,string b){
return a<b;
}
int main()
{
int n,i=0,num;
cin>>n;
// cout<<n<<endl;
// freopen("input","r",stdin);//cout<<"222222222";
getchar();
while(n--)
{//cout<<"222222222\n";
getline(cin,str[i]);
i=i+1;
}
str[i]="";
sort(str,str+i,cmp);
for(int w=0;w<i;w++)
// cout<<str[w]<<"\n";
num=1;
for(int j=0;j<i;j++)
{
//cout<<"1111111111\n";
int loc1=str[j].find(" ");
int loc2=str[j+1].find(" ");
// cout<<loc1<<" "<<loc2<<"\n";
if(!str[j].compare(0,loc1,str[j+1],0,loc2))
{
num=num+1;
}
else {
string sub = str[j].substr(0,loc1);
cout<<sub<<" "<<num<<"\n";
num=1;
}
}
}