美文网首页
校赛排名2

校赛排名2

作者: 见习炼丹师 | 来源:发表于2018-06-14 22:53 被阅读0次
    #include<cstdio>
    #include<algorithm>
    #include<cstring>
    #include<iostream>
    using namespace std;
    typedef struct stu {
        char name[100];
        int ac;
        int question[20][2];//question[i][0]为这道题的时间,[i][1]为这道题的罚时次数
        int totaltime;
    } stu;
    int cmp(stu a,stu b) {
        if(a.ac>b.ac)return 1;
        else if(a.ac==b.ac&&a.totaltime<b.totaltime)return 1;
        else if(a.totaltime==b.totaltime&&strcmp(a.name,b.name)>0)return 1;
        return 0;
    }
    int main() {
        int flag,time,result,i,j,TeamNum=0;
        char TeamName[100],QustName;
        stu team[1000];
        while(scanf("%d %s %c %d",&time,TeamName,&QustName,&result)!=EOF) {
            flag=0;//标记队伍是否第一次出现在排名榜上
            for(i=0; i<TeamNum; i++)
                if(strcmp(TeamName,team[i].name)==0) {
                    flag=1;//标记已经查到这个队伍
                    if(team[i].question[QustName-'A'][0])
                        break;  //不等于0说明这一题已经ac过了
                    if(!result) {
                        team[i].ac++;
                        team[i].question[QustName-'A'][0]=team[i].question[QustName-'A'][1]*20+time;
                    } else
                        team[i].question[QustName-'A'][1]++;
                }
            if(!flag) {//如果是正常跳出,没有查到这个队伍
                strcpy(team[TeamNum++].name,TeamName);
                if(!result) {
                    team[i].ac++;
                    team[i].question[QustName-'A'][0]=team[i].question[QustName-'A'][1]*20+time;
                } else
                    team[i].question[QustName-'A'][1]++;
            }
        }
        for(i=0; i<TeamNum; i++)
            for(j=0; j<15; j++)
                team[i].totaltime+=team[i].question[j][0];
        sort(team,team+TeamNum-1,cmp);//为什么减一?
        for(int i=0; i<TeamNum; i++)
            if(team[i].ac!=0)
                printf("%s %d %d\n",team[i].name,team[i].ac,team[i].totaltime);
        return 0;
    }
    
    

    相关文章

      网友评论

          本文标题:校赛排名2

          本文链接:https://www.haomeiwen.com/subject/gtiueftx.html