• hdu 2094


    1. #include <stdio.h>
    2. #include <algorithm>
    3. #include <iostream>
    4. #include <string>
    5. #include <map>
    6. #include <set>
    7. using namespace std;
    8. /*
    9. 在所有的比赛中,如果有一个人从来没有输过,而其他的人都输过,那么冠军肯定是他,按照这样的思路,
    10. 我们就要先统计出所有参赛的人员以及输过比赛的人员.
    11. 比如有N个人参赛,其中的一个人从来没有输过,而剩余的N-1一个输过,那么冠军肯定是那个没有输过的人.
    12. */
    13. int main()
    14. {
    15. int n;
    16. while( scanf("%d", &n)!=EOF && n)
    17. {
    18. string a, b;
    19. map<string, string>list;
    20. set<string>mem;
    21. for(int i=0; i<n; i++)
    22. {
    23. cin >> a >> b;
    24. mem.insert(a);
    25. mem.insert(b);
    26. list[b] = a; //a战胜了b
    27. }
    28. set<string>::iterator it;
    29. int count = 0;
    30. for(it = mem.begin(); it!=mem.end(); it++)
    31. {
    32. if( ! list[*it].length() ) //在这里list会生成mem中的成员,空的为被打败的,length为第二个对应成员的长度
    33. count++;
    34. //cout << list[*it].length();
    35. }
    36. if(count==1) printf("Yes ");
    37. else printf("No ");
    38. }
    39. return 0;
    40. }
    41. /*
    42. Problem Description
    43. 有一群人,打乒乓球比赛,两两捉对撕杀,每两个人之间最多打一场比赛。
    44. 球赛的规则如下:
    45. 如果A打败了B,B又打败了C,而A与C之间没有进行过比赛,那么就认定,A一定能打败C。
    46. 如果A打败了B,B又打败了C,而且,C又打败了A,那么A、B、C三者都不可能成为冠军。
    47. 根据这个规则,无需循环较量,或许就能确定冠军。你的任务就是面对一群比赛选手,在经过了若干场撕杀之后,确定是否已经实际上产生了冠军。
    48. Input
    49. 输入含有一些选手群,每群选手都以一个整数n(n<1000)开头,后跟n对选手的比赛结果,比赛结果以一对选手名字(中间隔一空格)表示,前者战胜后者。如果n为0,则表示输入结束。
    50. Output
    51. 对于每个选手群,若你判断出产生了冠军,则在一行中输出“Yes”,否则在一行中输出“No”。
    52. Sample Input
    53. 3
    54. Alice Bob
    55. Smith John
    56. Alice Smith
    57. 5
    58. a c
    59. c d
    60. d e
    61. b e
    62. a d
    63. 0
    64. Sample Output
    65. Yes
    66. No
    67. */





    附件列表

    • 相关阅读:
      2021.12.10
      2021.12.6
      12月3日
      《大话软件工程需求分析与软件设计》阅读笔记
      《大话软件工程需求分析与软件设计》阅读笔记
      期末加分申请
      2021.12.8
      2021.12.4
      <20211230>主板故障: Win10休眠后黑屏假死,无法回到桌面
      <20211130>怪异的主板故障开机黑屏,不显示, 黄绿灯频闪故障
    • 原文地址:https://www.cnblogs.com/sober-reflection/p/541886b4461801d085ba02017eb7f183.html
    Copyright © 2020-2023  润新知