• hdu2094产生冠军(思维题)


    产生冠军

    Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 22557    Accepted Submission(s): 10249


    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

    题意:给出n个比赛结果,要求最后判断能不能选出一个冠军。

    题解:看了题目给的球赛规则容易想复杂了,其实产生一个冠军就相当于只有一个人没有被打败过!!!!!!!那么只要记录一下每个被打败过的人,最后统计一下谁没有被打败过,如果只有一个人那他就是冠军,多于一个就不能产生冠军了。

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 int n;
     4 const int inf=0x3f3f3f3f;
     5 int a[1005];
     6 map<string,int>s;
     7 char x[35],y[35];
     8 int main() {
     9     while(~scanf("%d",&n),n) {
    10         s.clear();
    11         memset(a,0,sizeof(a));
    12         int ans=0;
    13         for(int i=0; i<n; i++) {
    14             scanf("%s %s",x,y);
    15             if(!s[x])s[x]=++ans;
    16             if(!s[y])s[y]=++ans;
    17             a[s[y]]=1;//被打败了
    18         }
    19         int num=0;
    20         for(int i=1; i<=ans; i++) {
    21             if(a[i]!=1) {
    22                 num++;
    23             }
    24         }
    25         if(num==1)printf("Yes
    ");
    26         else printf("No
    ");
    27     }
    28     return 0;
    29 }
  • 相关阅读:
    ffmpeg rtmp推流 视频转码
    java日志发展史 log4j slf4j log4j2 jul jcl 日志和各种桥接包的关系
    nginx stream 流转发,可以转发rtmp、mysql访问流,转发rtmp、jdbc请求
    java web http 转https 通过nginx代理访问
    linux 服务器磁盘挂载
    novnc 通过websockify代理 配置多点访问
    linux 文件服务 minio 安装部署配置
    AOP实现原理,手写aop
    java 泛型
    JAVA反射getGenericSuperclass()用法
  • 原文地址:https://www.cnblogs.com/fqfzs/p/9900451.html
Copyright © 2020-2023  润新知