zoj 2524 Football Match

zoj 2524 Football Match,第1张

zoj 2524 Football Match
#include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <cstdlib> #include <queue> #include <cmath> using namespace std; const int MN=10005; struct team {     char name[25];     int w,d,l,pt,wins,losts,gd; }result[MN]; void calcu(char a[],int i,int p,int q) {     strcpy (result[i].name,a);     if(p>q) result[i].w++;     else if(p==q) result[i].d++;     else result[i].l++;     result[i].wins+=p;     result[i].losts+=q; } bool cmp(struct team a1,struct team a2) {     if(a1.pt!=a2.pt) return a1.pt>a2.pt;     else if(a1.gd!=a2.gd) return a1.gd>a2.gd;     else return strcmp(a1.name,a2.name)<0; } int main() {     int n,q,p,i,j;    char a[25],b[25];     int flag=0;     while(scanf("%d",&n)!=EOF){         if(flag)    printf("n");        flag=1;         int num=0;         memset(result,0,sizeof(result));         for(i=0;i<n;i++){  scanf("%s%d:%d%s",a,&p,&q,b);  for(j=0;j<num;j++)  {      if(strcmp(a,result[j].name)==0)          break;  }  if(j==num) {      calcu(a,num,p,q);      num++;  }  else calcu(a,j,p,q);  for(j=0;j<num;j++)  {      if(strcmp(b,result[j].name)==0)          break;  }  if(j==num)  {      calcu(b,j,q,p);      num++;  }  else calcu(b,j,q,p);         }         for(i=0;i<num;i++)         {  result[i].pt=result[i].w*3+result[i].d;  result[i].gd=result[i].wins-result[i].losts;         }         sort(result,result+num,cmp);         for(i=0;i<num;i++)         {  printf("%d %s %d %d %d %d %dn",i+1,result[i].name,result[i].w,result[i].d,result[i].l,result[i].pt,result[i].gd);         }     }     return 0; }

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4925672.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存