• HDU 2094 产生冠军


    http://acm.hdu.edu.cn/showproblem.php?pid=2094

    Problem Description
    有一群人,打乒乓球比赛,两两捉对撕杀,每两个人之间最多打一场比赛。
    球赛的规则如下:
    如果A打败了B,B又打败了C,而A与C之间没有进行过比赛,那么就认定,A一定能打败C。
    如果A打败了B,B又打败了C,而且,C又打败了A,那么A、B、C三者都不可能成为冠军。
    根据这个规则,无需循环较量,或许就能确定冠军。你的任务就是面对一群比赛选手,在经过了若干场撕杀之后,确定是否已经实际上产生了冠军。
     
    Input
    输入含有一些选手群,每群选手都以一个整数n(n<1000)开头,后跟n对选手的比赛结果,比赛结果以一对选手名字(中间隔一空格)表示,前者战胜后者。如果n为0,则表示输入结束。
     
    Output
    对于每个选手群,若你判断出产生了冠军,则在一行中输出“Yes”,否则在一行中输出“No”。
     
    Sample Input
    3
    Alice Bob
    Smith John
    Alice Smith
    5
    a c
    c d
    d e
    b e
    a d
    0
     
    Sample Output
    Yes
    No
     
    代码:
    #include <bits/stdc++.h>
    using namespace std;
    
    const int maxn = 1e5 + 10;
    char win[1111][1111], loser[1111][1111], temp[55];
    
    int main()
    {
        int T;
        while(~scanf("%d", &T))
        {
            if(T == 0) break;
            for(int i = 1; i <= T; i ++)
            {
                scanf("%s %s", win[i], loser[i]);
            }
            int cnt = 0, ans = 0, flag=1;
            for(int i = 1; i <= T; i ++)
            {
                cnt = 0;
                for(int j = 1; j <= T; j ++)
                {
                    if(strcmp (win[i], loser[j])!=0)
                        cnt++;
                }
                if(cnt == T)
                {
                     if(flag == 1)
                    {
                        flag = 0;
                        strcpy(temp, win[i]);
                        ans ++;
                    }
                    else if(strcmp(temp, win[i])!=0)
                          ans ++;
                }
            }
            if(ans == 1)
                printf("Yes
    ");
            else
                printf("No
    ");
        }
        return 0;
    }
    

      

  • 相关阅读:
    MySQL表的四种分区类型
    微信开发配置(Yii框架下的开发)
    一道编程题—输出字符串内重复的数字
    无序数组内查找指定值(快速查找)
    指针
    chmod
    cookie和session的区别
    使用keytool生成证书
    人大金仓修改最大连接数
    数据库链接地址
  • 原文地址:https://www.cnblogs.com/zlrrrr/p/9380191.html
Copyright © 2020-2023  润新知