码迷,mamicode.com
首页 > 其他好文 > 详细

未完成代码存档 codevs 2905

时间:2017-04-12 03:27:38      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:algo   map   cstring   name   class   bsp   string   代码   blog   

#include <algorithm>
#include <cstring>
#include <cstdio>
#include <map>
#define Mod 13831

using namespace std;
map<int,int>q;

int n;
struct Node
{
    int point;
    char Name[101];
    int Hash;
}Team[7];
bool cmp(Node a,Node b)
{
    return a.point>b.point;
}
int main()
{
    scanf("%d",&n);
    if(n==1) {printf("King");return 0;}
    char ch=getchar();
    while(n--)
    {
        char str[101],Match[1010];
        int maxn=-0x7fffffff;
        for(int k=1;k<=4;k++)
        {
            gets(str);
            int x=0;
            int len=strlen(str);
            for(int i=0;i<len;i++) x=(x*10+str[i])%Mod;
            Team[k].Hash=x;
            strcpy(Team[k].Name,str);
            Team[k].point=0;
            q[x]=k;
        }
        for(int k=1;k<=6;k++)
        {
            gets(Match);
            int i=0,len=strlen(Match),x1=0,x2=0,y1=0,y2=0;
            while(Match[i]!= ) x1=(x1*10+Match[i++])%Mod;
            i++;
            while(Match[i]!=:) x2=x2*10+(int)Match[i++]-48;
            i++;
            while(Match[i]!= ) y2=y2*10+(int)Match[i++]-48;
            i++;
            for(int k=i;k<len;k++) y1=(y1*10+Match[k])%Mod;
            if(x2>y2) Team[q[x1]].point+=3;
            else if(x2==y2) Team[q[x1]].point++,Team[q[y1]].point++;
            else if(x2<y2) Team[q[y1]].point+=3;
        }
        sort(Team+1,Team+1+4,cmp);
        printf("%s\n",Team[1].Name);
        for(int i=1;i<=4;++i) Team[i].point=0,Team[i].Hash=0;
    }
    return 0;
}

 

未完成代码存档 codevs 2905

标签:algo   map   cstring   name   class   bsp   string   代码   blog   

原文地址:http://www.cnblogs.com/ruojisun/p/6696617.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!