uva 10420

/*

本应一次ac的,一开始没看懂题,wa了两次,以后看题得小心了

只需快排计数就可ac了

*/

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int cmp(const void *_a,const void *_b)
{
    char *a=(char*)_a;
    char *b=(char*)_b;
    return strcmp(a,b);
}
char country[2005][80];
int main()
{
    int i,j,l,c,n,count;
    scanf("%d",&n);
 getchar();
    for(i=0;i<n;i++)
    {
  
  gets(country[i]);
  l=strlen(country[i]);
  for(j=0;j<l&&country[i][j]!=' ';j++);
  country[i][j]='\0';
 }
    qsort(country,n,sizeof(country[0]),cmp);
    for(i=0;i<n;i++)
    {
        count=0;
        while(i<n-1)
        {
            count++;
            c=strcmp(country[i],country[i+1]);
            if(c==0)
                i++;
            else
                break;
        }
        if(i==n-1) count++;
        printf("%s %d\n",country[i],count);
    }
    return 0;
}

你可能感兴趣的:(uva)