当前位置:网站首页>hdu 2094 产生冠军(STL map || 拓扑 || STL set)
hdu 2094 产生冠军(STL map || 拓扑 || STL set)
2022-08-09 18:35:00 【51CTO】
题目: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=23626
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
原来我是这样想的:只要只有一个入度是0的点那么就有唯一的冠军。于是愉快的敲完代码,测试完用例没有发现错误交上去结果不断的WA。。后来我发现问题出现在我使用的map上:
WA:
比如这份测试用例:
5
a c
c d
d e
b e
a d
4
aa bb
bb cc
cc aa
dd aa
4
a b
b c
c a
d a
第二个例子和第三个例子应该是一样的结果,但运行出来不对。因为第一个例子对第三个例子造成了“数据污染”。前面已经输入过a,b,c,d后面接着输入,mp[s1],mp[s2]的默认值不是0!单个例子我利用了map的“记忆”,可是多个例子它的记忆又导致了错误的产生。真是一把双刃剑。而用map<char*,int>更是不对。转念一想,把map放在主函数里不就能只在单个例子利用他的记忆吗!
AC:
代码还能优化的。
不依赖于STL了。自己写函数联系字符串和数字:
开始做这题很不顺的,有几个点:最开始认为图里存在子环是不可以的,后来才知道只要环不是连起所有元素的大环就可以。
比如上面的右边图,d能打败a,那么也间接的打败了b,c。所以d是冠军。
我也看了看其他大神的思路,有这样的解法(很妙~):输的人数比所有人数少1则有一个人没有输,他就是唯一的冠军。这得用好set。
边栏推荐
- Leetcode 739.每日温度 单调栈
- MFC tutorial
- 宝塔面板安装使用
- 基于CC2530 E18-MS1-PCB Zigbee DIY作品(二)
- vim编辑器使用
- [Free column] APK dynamic reverse application of Android security [Three Smali injection methods]
- 英赛克工控安全项目入围《钢铁行业智能制造解决方案推荐目录》
- 字节二面,差点倒在了MySQL上面
- 牛客网 Verilog 在线编程题库解答(VL1~VL10)
- Mysql table structure change scheme comparison and analysis
猜你喜欢
2021 RoboCom 世界机器人开发者大赛-本科组(决赛)
Codesys结构变量编程应用(STRUCT类型)
Samsung's flagship discount is 1,800, Apple's discount is over 1,000, and the domestic flagship is only reduced by 500 to send beggars
[Free column] Xposed plug-in development for Android security [from scratch] tutorial
[免费专栏] Android安全之GDB动态调试APP
Paper sharing: "FED BN" uses the LOCAL BATCH NORMALIZATION method to solve the Non-iid problem
[免费专栏] Android安全之静态方式逆向APK应用浅析【手动注入smali+】+【IDA Pro静态分析so文件】+【IDA Pro基础使用讲解】
双屏协作更高效,华硕灵耀X 双屏Pro 2022创作体验再升级
源码编译安装与yum和rpm软件安装详解
IS31FL3737B general 12 x 12 LED drive 40 QFN I2C 42 ma
随机推荐
[免费专栏] Android安全之Android工程模式
pat链表专题训练+搜索专题
基于设计稿识别的可视化低代码系统实践
Typora 结合 Picgo 自动上传图像
重庆智博会|2022智博会到底有哪些看点?拭目以待
CreateCompatibleDC用法
毕昇编译器优化:Lazy Code Motion
宝塔面板安装使用
2022.08.06_每日一题
如何抑制告警风暴?
An overview of Office 365 Groups and how to create them
有文章说明或者证明MYSQL 嵌套子查询不足之处吗?
Redis很大的时候,key 要如何处理?
重磅!上海985教授当选!全球仅4人!
Pytorch 固定部分参数训练
一图详解沃土云创计划高校教师参与全流程
Intensive reading of the paper: VIT - AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE
web正则表达式中^和$的含义是什么
国产抗新冠口服药每瓶不超300元/ 我国IPv6网络全面建成/ 谷歌入局折叠屏手机...今日更多新鲜事在此...
英赛克工控安全项目入围《钢铁行业智能制造解决方案推荐目录》