UVA - 10194 Football (aka Soccer)
来源:互联网 发布:格罗姆地狱咆哮知乎 编辑:程序博客网 时间:2024/05/31 18:53
UVA - 10194 Football (aka Soccer) 点击打开链接
从这道题中收获蛮多,首先又一次知道自己的代码风格一点都不好,乱七八糟的,还有也就是抓不住题目重点,导致不停WA。
不过知道了还有strcasecmp这个函数,不区分大小写排序,并且从别人代码中学习风格,让程序清晰很多。
#include<cstdio>#include<cstring>#include<cstdlib>using namespace std;struct node{ char name[100]; int p,g,w,l,t,gd,gs,ga; //得分 场数 胜 负 平 净胜球 进球数 失球数};int cmp(const void *a,const void *b){ struct node *c=(node *)a; struct node *d=(node *)b; if(c->p!=d->p) return d->p - c->p; else if(c->w!=d->w) return d->w - c->w; else if(c->gd!=d->gd) return d->gd - c->gd; else if(c->gs!=d->gs) return d->gs - c->gs; else if(c->g!=d->g) return c->g - d->g; else return strcasecmp(c->name,d->name);}int n,m;int find(char a[],node *team){ for(int j=0;j<n;j++) if(strcmp(team[j].name,a)==0) return j;}int main(){ //freopen("a.txt","r",stdin); int t,g1,g2; char match[3001]; char team1[3500],team2[3500]; scanf("%d",&t); getchar(); while(t--) { node team[5001]={0}; gets(match); puts(match); scanf("%d",&n); getchar(); for(int i=0;i<n;i++) gets(team[i].name); scanf("%d",&m); getchar(); for(int i=0;i<m;i++) { int t1=0; int a1,a2; char c; while(1) { scanf("%c",&c); if(c=='#') break; team1[t1++]=c; } team1[t1]='\0'; scanf("%d%c%d%c",&g1,&c,&g2,&c); gets(team2); a1=find(team1,team); a2=find(team2,team); team[a1].gs+=g1; team[a1].ga+=g2; team[a1].g++; team[a2].gs+=g2; team[a2].ga+=g1; team[a2].g++; if(g1>g2) { team[a1].p+=3; team[a1].w++; team[a2].l++; team[a1].gd+=(g1-g2); team[a2].gd+=(g2-g1); } else if(g1==g2) { team[a1].t++; team[a2].t++; team[a1].p++; team[a2].p++; } else { team[a2].w++; team[a1].l++; team[a2].p+=3; team[a2].gd+=(g2-g1); team[a1].gd+=(g1-g2); } } qsort(team,n,sizeof(team[0]),cmp); for(int i=0;i<n;i++) printf("%d) %s %dp, %dg (%d-%d-%d), %dgd (%d-%d)\n",i+1,team[i].name,team[i].p,team[i].g,team[i].w,team[i].t,team[i].l,team[i].gd,team[i].gs,team[i].ga); if(t) printf("\n"); } return 0;}
0 0
- uva 10194 Football (aka Soccer)
- UVa 10194 - Football (aka Soccer)
- uva 10194 - Football (aka Soccer)
- UVA 10194 - Football (aka Soccer)
- uva 10194Football (aka Soccer)
- UVa 10194 - Football (aka Soccer)
- UVA 10194 Football (aka Soccer)
- uva 10194 - Football (aka Soccer)
- uva -- 10194 - Football (aka Soccer)
- UVA 10194 - Football (aka Soccer)
- UVa 10194 - Football (aka Soccer)
- UVA 10194 Football (aka Soccer)
- UVa:10194 - Football (aka Soccer)
- UVa 10194 - Football (aka Soccer)
- UVA - 10194 Football (aka Soccer)
- uva 10194 Football (aka Soccer)
- UVA 10194 Football (aka Soccer)
- UVA Football (aka Soccer)
- 安卓入门之往SD卡存文件
- 2014/12/21
- linux下的内核测试工具——perf使用简介
- Jenkins+maven+git+sonar 系统持续集成&代码单测管理
- Foundation框架第二弹:NSString常用方法
- UVA - 10194 Football (aka Soccer)
- (i++)+(++i)+(i++)之罪恶语句
- android listview gridview 点击无效果
- 图的遍历(广度优先)
- CommonJS,AMD,RequireJS的区别
- POJ1094 - Sorting It All Out
- ASP.NET环境下配置FCKEditor并上传图片及其它文件
- NSNumber, NSValue, NSData
- microlog4android和android-logging-log4j比较