zoukankan      html  css  js  c++  java
  • uva 10194 Football (aka Soccer)

    View Code
    #include<stdio.h>
    #include<string.h>
    typedef struct node{
        int score;
        int win;
        int lose;
        int jball;
        int wpoint;
        int zchang;
        int tie;
        int wingame;
        int losegame;
        char name[35];
    }team;
    team teams[1005];
    int search(char name[],int n)
    {
        int i;
        for(i = 0;i < n;i++)
            if(strcmp(name,teams[i].name) == 0)
        return i;
        return 80;
    }
    
    int main()
    {
        int t,cas,n,i,j,m;
        char cup[105],str[205],team1[35],team2[35];
        scanf("%d",&cas);
        getchar();
        while(cas--)
        {
            gets(cup);
            puts(cup);
            scanf("%d",&n);
            getchar();
            for(i = 0;i < n;i++)
            teams[i].jball = teams[i].zchang = teams[i].losegame = teams[i].wingame = teams[i].tie = teams[i].lose = teams[i].wpoint =teams[i].score = teams[i].win = 0;
            for(i = 0;i < n;i++)
            {
                gets(teams[i].name);
            }
            scanf("%d",&m);
            getchar();
            for(i = 0;i < m;i++)
            {
                int b1,b2;
                gets(str);
                char *p,*_p;
                p=str;
               _p=str;
               while(*p!='#')
                p++;
               *p='\0';
               strcpy(team1,_p);
               p++;
               b1=0;
               while(*p!='@')
               {
                b1=b1*10+*p-'0';
                p++;
               }
               p++;
               b2=0;
               while(*p!='#')
               {
                b2=b2*10+*p-'0';
                p++;
               }
               p++;
               strcpy(team2,p);
    
                int t1,t2;
                t1 = search(team1,n);
                t2 = search(team2,n);
                teams[t1].zchang++;
                teams[t1].lose += b2;
                teams[t1].win += b1;
                teams[t2].zchang++;
                teams[t2].lose += b1;
                teams[t2].win += b2;
                teams[t1].jball = teams[t1].win - teams[t1].lose;
                teams[t2].jball = teams[t2].win -teams[t2].lose;
                if(b1>b2)
                {
                    teams[t1].score += 3;
                    teams[t1].wpoint++;
                    teams[t2].losegame++;
                }
                else if(b1 == b2)
                {
                    teams[t1].score += 1;
                    teams[t2].score += 1;
                    teams[t1].tie++;
                    teams[t2].tie++;
                }
                else
                {
                    teams[t2].score += 3;
                    teams[t2].wpoint ++;
                    teams[t1].losegame++;
                }
            }
            for(i = 0;i < n-1;i++)
            {
                t = i;
                for(j = i+1;j < n;j++)
                {
                    if(teams[t].score < teams[j].score)
                    t = j;
                    else if(teams[t].score == teams[j].score)
                    {
                        if(teams[t].wpoint < teams[j].wpoint)
                        t = j;
                        else if(teams[t].wpoint == teams[j].wpoint )
                        {
                            if(teams[t].jball < teams[j].jball)
                            t = j;
                            else if(teams[t].jball == teams[j].jball)
                            {
                                if(teams[t].win < teams[j].win)
                                t = j;
                                else if(teams[t].win == teams[j].win)
                                {
                                    if(teams[t].zchang > teams[j].zchang)
                                    t = j;
                                    else if(teams[t].zchang == teams[j].zchang)
                                    {
                                        if(strcasecmp(teams[t].name,teams[j].name) > 0)
                                        t = j;
                                    }
                                }
                            }
    
                        }
                    }
                }
                if(t != i)
                {
                    team temp;
                    temp = teams[t];
                    teams[t] = teams[i];
                    teams[i] = temp;
                }
            }
            for(i = 0;i < n;i++)
                printf("%d) %s %dp, %dg (%d-%d-%d), %dgd (%d-%d)\n",i+1,teams[i].name,teams[i].score,teams[i].zchang,teams[i].wpoint,teams[i].tie,teams[i].losegame,teams[i].jball,teams[i].win,teams[i].lose);
            if(cas)printf("\n");
        }
        return 0;
    }
  • 相关阅读:
    centos7下git服务器端搭建(转)
    IDEA各个版本激活(亲测有效,永久有效)(转)
    维护贴--linux下 mysql数据库的备份和还原 (转)
    维护贴--验证可用--mysql给root开启远程访问权限,修改root密码(转)
    开通mysql root 用户远程访问权限(转)
    安装mysql时包冲突解决方法
    mysql5.5 for linux 安装(转)
    Centos中iptables和firewall防火墙开启、关闭、查看状态、基本设置等(转)
    一个div宽度不固定的左右居中效果
    多行文字在一个div中上下左右居中
  • 原文地址:https://www.cnblogs.com/0803yijia/p/2606189.html
Copyright © 2011-2022 走看看