hdu2094 集合set
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相关推荐
- HDU2094 产生冠军【set】
产生冠军 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- do还是doing imagine加to_中学必背英语短语集合:54个doing动名词的固定搭配
中学必背英语短语集合:54个doing动名词的固定搭配mp.weixin.qq.com doing动名词是中小学英语教学中的重要内容.在小学的时候老师大概会把doing解释为一般进行时,但层级越往上 ...
- Redis 笔记(07)— sorted set 类型(添加、删除有序集合元素、获取分数范围内成员、按score排序、返回集合元素个数)
zset 可能是 Redis 提供的最为特色的数据结构,一方面它是一个 set,保证了内部 value 的唯一性,另一方面它可以给每个 value 赋予一个 score,代表这个 value 的排序权 ...
- Redis 笔记(06)— set 类型(向集合添加元素、获取集合元素个数、判断集合中是否包含某个元素、删除给定元素、返回集合中所有元素、计算集合的交集、并集、差集)
Redis 的 set 集合内部的键值对是无序的唯一的.它的内部实现相当于一个特殊的字典,字典中所有的 value 都是一个值 NULL .当集合中最后一个元素移除之后,数据结构自动删除,内存被回收. ...
- 【C#】集合_哈希表_字典_泛型_文件
数组能做到:存放同种类型数据,且数据个数确定 object类型的数组能满足:放各种类型的数据,确定放多少个,但是随意插入元素,数组做不到 集合能做到:存放各种数据类型,且不确定存放多少个,能做到随意插 ...
- java集合中对象某属性比较排序
TreeSet:它可以给Set集合中的元素进行指定方式的排序. 保证元素唯一性的方式:通过比较的结果是否为0. 底层数据结构是:二叉树. 排序的第一种方式: 让元素自身具备比较性.只要让元素实现Com ...
- 程序员应该吃透的集合List
一:先看看集合框架接口图 (图片来源于网络) 从图中可以看到List实现了Collection接口. 二:Collection接口是什么? 在java类库中,Collection接口是集合类的基本接口 ...
- Java集合详解之Map
一.首先看看集合框架体系图 从图中可以看到,Map接口扩展了Iterator接口,关于Iterator接口详解请移步:Iterator接口详解 二.Map是什么? Map<k,v>使用键值 ...
- 第一个python程序:定义,列表,元组,集合,求并集交集,键和值,运算符,缩进
''' 来源:天善智能韦玮老师课堂笔记 ''' print("定义") a = 6 # python里无需定义 print("a=",a) a += 1 # + ...
最新文章
- 2013年蓝桥杯省赛C/C++A组真题解析
- css修改select选择框option被选中的背景颜色_这五个有用的 CSS 属性完全被我忽视了...
- 大学学习论坛 需求分析报告.菜鸟版.多喷.看看问题所在
- 自定义Spring命名空间使JAXB更容易
- 11届蓝桥杯青少年组C++全国赛高级组 六.编程实现:求阶乘(python3实现)
- 【mysql的设计与优化专题(6)】mysql索引攻略
- 团队管理(3)---团队管理方法
- 新房装修选电视机还是投影仪?装修投影仪避坑指南
- @ApiOperation
- 【LittleVGL】stm32f412-discovery探索板-ft6x06驱动问题
- 传图识字有次数限制吗_告诉你一个免费的微信小程序,可以传图识字
- 有1000个瓶子,其中有999瓶是水,1瓶是毒药
- TUSCANY SCA JAVA (二) 入门
- 关于c语言如何判断日期是否合法?\\有这样的日期吗?
- 前端屏幕尺寸和分辨率_屏幕尺寸、分辨率、倍率到底是什么鬼
- 奇妙的AE特效插件之红巨人粒子特效Trapcode Suite
- 01串状态压缩(位运算)
- 计算机办公软件基础知识题库,银行考试试题:计算机题库-办公软件
- 51单片机开发板资料270G | 免费下载
- 温度敏感/PH敏感/电场敏感/温度/pH双重敏感/磁场敏感型水凝胶的制备