hdu 1225 Football Score
2011-11-26 22:18
453 查看
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1225
就是对各种结构体排序。。在调用sscanf()函数时应该注意。。。应该加去地址符。。。。
如sscanf("12","%c%",&a,&b); 和scanf()函数类似
下面是AC代码:
就是对各种结构体排序。。在调用sscanf()函数时应该注意。。。应该加去地址符。。。。
如sscanf("12","%c%",&a,&b); 和scanf()函数类似
下面是AC代码:
#include<iostream> #include<cstring> using namespace std; char str[100]; struct node { char name[20]; int score; int goal; int kick; int lost; }f[10000000]; int cmp(const void *a,const void *b) { node *c=(node *)a; node *d=(node *)b; if(c->score==d->score) { if(c->goal==d->goal) { if(c->kick==d->kick) { return strcmp(c->name,d->name)?1:-1; } return c->kick>d->kick?-1:1; } return c->goal>d->goal?-1:1; } return c->score>d->score?-1:1; } int main() { int n; int l,i,j; char team1[20],team2[20]; int s1,s2; int k1,k2; while(scanf("%d",&n)!=EOF) { getchar(); l=0; for(i=1;i<=n*(n-1);i++) { gets(str); sscanf(str,"%s VS %s %d:%d", team1,team2,&s1,&s2); //要加取地址符。。。如同scanf的用法 for(j=0;j<l;j++) { if(strcmp(f[j].name,team1)==0) { k1=j; break; } } if(j==l) { k1=l; strcpy(f[l].name,team1); f[l].score=0,f[l].goal=0;f[l].kick=0;f[l].lost=0; l++; } for(j=0;j<l;j++) { if(strcmp(f[j].name,team2)==0) { k2=j; break; } } if(j==l) { k2=l; strcpy(f[l].name,team2); f[l].score=0,f[l].goal=0,f[l].kick=0;f[l].lost=0; l++; } f[k1].kick+=s1; f[k1].lost+=s2; f[k2].kick+=s2; f[k2].lost+=s1; if(s1==s2) { f[k1].score+=1; f[k2].score+=1; } else if(s1>s2) { f[k1].score+=3; } else f[k2].score+=3; // printf("%s %d",f[2].name,f[2].score); } for(i=0;i<l;i++) f[i].goal=f[i].kick-f[i].lost; qsort(f,l,sizeof(f[0]),cmp); for(i=0;i<l;i++) printf("%s %d\n",f[i].name,f[i].score); printf("\n"); } return 0; }
相关文章推荐
- HDU-1225 Football Score 模拟问题(水题)
- hdu 1225 Football Score
- HDU-1225-Football Score
- HDU-1225-Football Score
- HDU-1225-Football Score
- HDU 1225 football score 结构体排序
- HDU 1225 Football Score
- HDU1225 Football Score 【结构体排序】
- 杭电 1225 Football Score
- hdu 1225 求覆盖至少两次的区域的面积并
- HDOJ 1225 Football Score(结构体排序)
- hdu 1225 Football Score
- hdoj 1225 Football Score
- 【HDOJ】1225 Football Score
- HDU 1225(简单题)
- 【杭电oj】1225 - Football Score(结构体排序)
- HDU 1225 覆盖的面积
- HDU 1542 HDU 1225 (线段树扫描线)
- hdu 1225
- hdu 1225大水题