HDU2094 产生冠军【set】
产生冠军
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 19114 Accepted Submission(s): 8650
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
问题链接:HDU2094 产生冠军。
问题简述:参见上文。
问题分析:
比赛中互有胜负,将所有人放入一个集合中,输的人放入另外一个集合中。只有唯一1个人没有输时,才产生冠军。
程序说明:
程序中,使用STL的集合类来实现。
代码不够简洁,追加了一个版本。
AC的C++语言程序如下:
/* HDU2094 产生冠军 */#include <iostream>
#include <set>using namespace std;int main()
{int n;while(cin >> n && n != 0) {string winner, loser;set<string> all, lose;while(n--) {cin >> winner >> loser;all.insert(winner);all.insert(loser);lose.insert(loser);}cout << (all.size() - lose.size() == 1 ? "Yes" : "No") << endl;}return 0;
}
AC的C++语言程序如下:
/* HDU2094 产生冠军 */#include <iostream>
#include <string>
#include <set>using namespace std;int main()
{int n;set<string> all, lose;string Winner, loser;while(cin >> n && n != 0) {all.clear();lose.clear();while(n--) {cin >> Winner >> loser;all.insert(Winner);all.insert(loser);lose.insert(loser);}// 只有一人没有输,才有冠军if(all.size() - lose.size() == 1)cout << "Yes" << endl;elsecout << "No" << endl;}return 0;
}
HDU2094 产生冠军【set】相关推荐
- HDU2094 产生冠军
产生冠军 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- hdu2094产生冠军
http://acm.hdu.edu.cn/showproblem.php?pid=2094 其实这题也不算是拓扑排序了 只需要判断最开始入度是否唯一就可以了 如果是0 肯定有环了 不是0 会有多个 ...
- HDU-2094 产生冠军
题中先用并查集判定是否所有点都有联系,即能够拼成一个连通的无向图. 再判定入度为零的点是否为1即可. 代码如下: #include <stdio.h> #include <strin ...
- 【ACM】HDU.2094 产生冠军 【STL-map】
题目链接 问题分析: 题意: rule1:胜负关系具有传递性 rule2:胜负关系形成闭环时,则闭环内的都不可能是冠军 所以大胆猜测,只要输过一次的人就不可能是冠军,统计最后没有输过的人数,若为1,则 ...
- CCF认证训练行动路线图
通过CCF认证的训练题选自三个方面,一是CCF认证试题,二是使用北大百练的练习题等等,三是ACM-ICPC的练习题. CCF认证的试题是必须练习的,通过CCF试题的练习有助于了解试题风格特点.然而CC ...
- c语言折半查找法找字符,C语言折半查找法练习题冒泡排序
MongoDB管理工具的插件系统 MongoDB管理工具 MongoCola的开发已经进入第三个年头了. 官方对于C#驱动的投入不够导致了很多东西都必须自己实现,但是不管怎么样,工具现在已经很强大了 ...
- TYUT-A2专题题解
TYUT-A2专题题解 循序渐进,基础练起. 01递推与组合 HDU1210 Eddy's 洗牌问题[递推函数+模拟] - 海岛Blog - CSDN博客 HDU2044 一只小蜜蜂...[递推] - ...
- ICPC程序设计题解书籍系列之九:罗勇军《算法竞赛入门到进阶》
罗书<算法竞赛入门到进阶>题目一览 第1章 算法竞赛概述 HDU1000 HDU1089-HDU1096 A+B for Input-Output Practice (I)-(VIII)( ...
- TYUT-A专题题解(一)
TYUT-A专题题解(一) 01A Ad Hoc UVA353 LA5247 Pesky Palindromes[回文] - 海岛Blog - CSDN博客 UVA947 Master Mind He ...
最新文章
- ARKit应用超300万次安装,排第一的是一款养成游戏
- 用InstallShield 打包工具 打 Win32 程序 (depends.exe 用看程序都依赖了哪些dll)
- 量化策略研究员 - 工具篇
- php超市结算,超市物品结算简易程序代码
- zabbix中mysql连不上的排错_zabbix监控软件的使用排错
- 【OpenGL】OpenGL视图和模型变换中各变换发生顺序的思考
- andrew ng 机器学习笔记_所有笔记目录 | 数据分析 | 机器学习 | 深度学习等
- Linux入门-第四周
- uniapp本地开发小程序代码超过2M,不能预览和真机调试解决办法
- eclipse 装阿里规范模板
- 湖北汽车工业学院校园导游咨询与最短路径
- 定义一个交通工具(Vehicle)的类
- 多系统引导启动项详解和更改启动内核的方法
- iOS 开发:『Runtime』详解(二)Method Swizzling
- 【毕业设计】基于单片机的墨水屏阅读器(单词卡) - 物联网 嵌入式
- Java抽象类,接口练习之猫狗案例加入跳高功能分析及其代码实现
- java接口防刷_API 接口防刷
- makefile文件解释
- Java程序员必备的几款开发工具
- mysql lambda查询_MySQL高级查询和编程基础
热门文章
- ArcGIS制图表达Representation-规则和几何效果
- 在移动设备中创建ArcGIS API for JavaScript地图应用程序
- 手机格斗网游该如何避免延迟
- 用计算机弹假面骑士build,假面骑士build中只有资深粉丝才知道的梗第一弹
- html5画布作品,10个会让你惊叹不已的HTML5画布(CANVAS)技术应用演
- win10基于anaconda下的tensorflow2.0.0及cuda10.0、cudnn安装成功
- oracle中 initcpa,oracle 11g rman备份
- java 项目名命名规范_javaWeb项目命名规范
- kafka的c/c++高性能客户端librdkafka简介/使用librdkafka的C++接口实现简单的生产者和消费者
- Qt之HTTP之模仿迅雷——根据URL获取文件信息(上)