10420 - List of Conquests

来源:互联网 发布:导演做什么知乎 编辑:程序博客网 时间:2024/04/29 10:04
#include <cstdio>#include <cstring>#include <cstdlib>typedef struct{    char Sum[100];    int count;} Str;int cmp(const void *p1,const void *p2){    return strcmp(((Str*)p1)->Sum,((Str*)p2)->Sum);}int main(){    Str s[2010];    int n,i,j,num;    char str1[1000],str2[1000];    char Name[2010][100];    scanf("%d",&n);    i=num=0;    getchar();    memset(Name,0,sizeof(Name));    while(i<n)    {        memset(s[i].Sum,0,sizeof(s[i].Sum));        s[i].count=0;        memset(str1,0,sizeof(str1));        memset(str2,0,sizeof(str2));        scanf("%s",str1);        gets(str2);        if(i==0)        {            strcpy(s[0].Sum,str1);            strcpy(Name[0],str2);            s[0].count=1;            num++;        }        else for(j=0; j<=i; j++)                if(strcmp(s[j].Sum,str1)==0&&strcmp(Name[j],str2)!=0)                {                    s[j].count++;                    break;                }                else if(strcmp(s[j].Sum,str1)!=0&&s[j].count==0)                {                    num++;                    strcpy(s[j].Sum,str1);                    strcpy(Name[j],str2);                    s[j].count=1;                    break;                }        i++;    }    //if(s[j].count!=0)j=j+1;    qsort(s,num,sizeof(Str),cmp);    for(i=0; i<num; i++)        printf("%s %d\n",s[i].Sum,s[i].count);    return 0;}

原创粉丝点击