hdu 2094 产生冠军

问题描述

有一群人,打乒乓球比赛,两两捉对撕杀,每两个人之间最多打一场比赛。
球赛的规则如下:
如果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

Sampe Output

Yes
No

冠军作为比赛的唯一胜出者,该胜出者必须赢得参加所有的比赛,而其他人则必须至少输过一场比赛,在这种情况下才能确定冠军,否则无法确定冠军。故可创建两个集合,一个储存所有的参赛者,另一个储存比赛的失败者,当参赛者集合内个数比比赛者集合个数多1时,可确定出冠军。

#include<iostream>
#include<string>
#include<set>
using namespace std;
int main()
{int n;set<string>A,B;string s1,s2;while(cin>>n&&n){for(int i=1;i<=n;i++){cin>>s1>>s2;A.insert(s1);A.insert(s2); B.insert(s2);}if(A.size()-B.size()==1)cout<<"Yes"<<endl;else cout<<"No"<<endl;A.clear();B.clear(); }return 0;
}

hdu2094 集合set相关推荐

  1. HDU2094 产生冠军【set】

    产生冠军 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  2. do还是doing imagine加to_中学必背英语短语集合:54个doing动名词的固定搭配

    中学必背英语短语集合:54个doing动名词的固定搭配​mp.weixin.qq.com doing动名词是中小学英语教学中的重要内容.在小学的时候老师大概会把doing解释为一般进行时,但层级越往上 ...

  3. Redis 笔记(07)— sorted set 类型(添加、删除有序集合元素、获取分数范围内成员、按score排序、返回集合元素个数)

    zset 可能是 Redis 提供的最为特色的数据结构,一方面它是一个 set,保证了内部 value 的唯一性,另一方面它可以给每个 value 赋予一个 score,代表这个 value 的排序权 ...

  4. Redis 笔记(06)— set 类型(向集合添加元素、获取集合元素个数、判断集合中是否包含某个元素、删除给定元素、返回集合中所有元素、计算集合的交集、并集、差集)

    Redis 的 set 集合内部的键值对是无序的唯一的.它的内部实现相当于一个特殊的字典,字典中所有的 value 都是一个值 NULL .当集合中最后一个元素移除之后,数据结构自动删除,内存被回收. ...

  5. 【C#】集合_哈希表_字典_泛型_文件

    数组能做到:存放同种类型数据,且数据个数确定 object类型的数组能满足:放各种类型的数据,确定放多少个,但是随意插入元素,数组做不到 集合能做到:存放各种数据类型,且不确定存放多少个,能做到随意插 ...

  6. java集合中对象某属性比较排序

    TreeSet:它可以给Set集合中的元素进行指定方式的排序. 保证元素唯一性的方式:通过比较的结果是否为0. 底层数据结构是:二叉树. 排序的第一种方式: 让元素自身具备比较性.只要让元素实现Com ...

  7. 程序员应该吃透的集合List

    一:先看看集合框架接口图 (图片来源于网络) 从图中可以看到List实现了Collection接口. 二:Collection接口是什么? 在java类库中,Collection接口是集合类的基本接口 ...

  8. Java集合详解之Map

    一.首先看看集合框架体系图 从图中可以看到,Map接口扩展了Iterator接口,关于Iterator接口详解请移步:Iterator接口详解 二.Map是什么? Map<k,v>使用键值 ...

  9. 第一个python程序:定义,列表,元组,集合,求并集交集,键和值,运算符,缩进

    ''' 来源:天善智能韦玮老师课堂笔记 ''' print("定义") a = 6 # python里无需定义 print("a=",a) a += 1 # + ...

最新文章

  1. 2013年蓝桥杯省赛C/C++A组真题解析
  2. css修改select选择框option被选中的背景颜色_这五个有用的 CSS 属性完全被我忽视了...
  3. 大学学习论坛 需求分析报告.菜鸟版.多喷.看看问题所在
  4. 自定义Spring命名空间使JAXB更容易
  5. 11届蓝桥杯青少年组C++全国赛高级组 六.编程实现:求阶乘(python3实现)
  6. 【mysql的设计与优化专题(6)】mysql索引攻略
  7. 团队管理(3)---团队管理方法
  8. 新房装修选电视机还是投影仪?装修投影仪避坑指南
  9. @ApiOperation
  10. 【LittleVGL】stm32f412-discovery探索板-ft6x06驱动问题
  11. 传图识字有次数限制吗_告诉你一个免费的微信小程序,可以传图识字
  12. 有1000个瓶子,其中有999瓶是水,1瓶是毒药
  13. TUSCANY SCA JAVA (二) 入门
  14. 关于c语言如何判断日期是否合法?\\有这样的日期吗?
  15. 前端屏幕尺寸和分辨率_屏幕尺寸、分辨率、倍率到底是什么鬼
  16. 奇妙的AE特效插件之红巨人粒子特效Trapcode Suite
  17. 01串状态压缩(位运算)
  18. 计算机办公软件基础知识题库,银行考试试题:计算机题库-办公软件
  19. 51单片机开发板资料270G | 免费下载
  20. 温度敏感/PH敏感/电场敏感/温度/pH双重敏感/磁场敏感型水凝胶的制备

热门文章

  1. matlab中axis函数程序,matlab中axis函数
  2. Java 数组的输入输出
  3. IC设计中节省静态功耗和动态功耗的方法
  4. IDEA如何导入一个已有项目
  5. HTTP ---code错误状态码大全
  6. python与vba的区别_选择VBA还是Python?
  7. 1143-最长公共子序列(最长公共子序列)
  8. python3 安装 pip (PyPI)
  9. JAVA学习笔记JEECG BOOT介绍
  10. HEVC(h265)学习