hdu2094产生冠军[STL set]
题目地址
题干

代码和解释
题意可以这样理解:一个人只要没输过就可以是冠军,如果没输过的人恰为一位,那就认他为冠军,若少于或多于一位,则判定没有冠军。所以只需要把获胜的人依次插入集合中,再把失败的依次删除,最后剩下的人数如果为1则产生冠军,否则没有冠军。
set的特点是集合中每个元素只出现一次,且为排好序的。访问元素的时间复杂度为O(logn)。元素插入和删除效率高。
本题我们使用了string类型,注意头文件#include<string>和#include<set>
下面是本题的c++代码
#include<iostream>
#include<set>
#include<string>
using namespace std;
int main()
{
int n;
int i;
string add[1000];
string del[1000];
while(~scanf("%d",&n)&&n){
set<string> s;
for(i=0;i<n;i++){
cin>>add[i];
cin>>del[i];
}
for(i=0;i<n;i++){
s.insert(add[i]);
}
for(i=0;i<n;i++){
s.erase(del[i]);
}
if(s.size()==1) printf("Yes\n");
else printf("No\n");
}
return 0;
}
参考
- STL set的有关操作
| 例子 | 说明 |
|---|---|
| set A; | 定义 |
| A.insert(item); | 把item放进set |
| A.erase(item); | 删除元素item |
| A.clear(); | 清空set |
| A.empty(); | 判断是否为空 |
| A.size(); | 返回元素个数 |
| A.find(k); | 返回一个迭代器,指向键值k |
| A.lower_bound(k); | 返回一个迭代器,指向键值不小于k的第一个元素 |
| A.upper_bound(k); | 返回一个迭代器,指向键值大于k的第一个元素 |
hdu2094产生冠军[STL set]的更多相关文章
- HDU2094产生冠军 (拓扑排序)
HDU2094产生冠军 Description 有一群人,打乒乓球比赛,两两捉对撕杀,每两个人之间最多打一场比赛. 球赛的规则如下: 如果A打败了B,B又打败了C,而A与C之间没有进行过比赛,那么就认 ...
- hdu2094产生冠军(思维题)
产生冠军 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- hdu2094—看似拓扑实际上是一道思维题
HDU2094 产生冠军 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2094 题意:中文题,就不解释了.题意已经非常清楚了. 这道题的看起来像是一 ...
- HDU2094(产生冠军)题解
HDU2094(产生冠军)题解 以防万一,题目原文和链接均附在文末.那么先是题目分析: [一句话题意] 根据给定现有比赛结果推断分析冠军.(这描述...我建议还是看题吧,题不长) [题目分析] 给出的 ...
- hdu 2094 产生冠军(STL,set)
题目 //把所有的出现的名字开始默认都为冠军(1),然后输了的置为0,表示不为冠军,最后统计不为0的, //当有且只有一个不为0的,这个就为冠军,否则,不能产生冠军. //以上思路来自别人的博客.. ...
- (set)产生冠军 hdu2094
产生冠军 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- 产生冠军(hdu2094)
产生冠军 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- hdu2094 stl之set的应用
产生冠军 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- HDU 2094 产生冠军(STL map)
产生冠军 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
随机推荐
- PHP面试题2019年腾讯工程师面试题和答案
一.单选题(共29题,每题5分) 1.PHP执行的时候有如下执行过程:Scanning(Lexing) - Compilation - Execution - Parsing,其含义分别为: A.将P ...
- 2年java,蚂蚁一面,卒
其实我一个都没答上来.并不是因为我笨,是因为我不会.在大扰的帮助下,现在我会了,求求你再给我一个机会. TreeSet/HashSet 区别 顾名思义,首先是结构上的不同 1.TreeSet背后的结构 ...
- 32、flex布局
html: <div class="parent"> <div class="son">1</div> <div cl ...
- OCR4:Tesseract 4
Tesseract OCR 该软件包包含一个OCR引擎 - libtesseract和一个命令行程序 - tesseract. Tesseract 4增加了一个基于OCR引擎的新神经网络(LSTM ...
- jmeter使用小结
写这篇短文主要想详细介绍一下jmeter中取样器.逻辑控制器.前置处理器.后置处理器.定时器.配置元件等,可能看起来比较繁杂,其实里面很多操作是类似的,一篇总结和记录的博客: jmeter官方用户手册 ...
- Unity历史版本的文档
前言 在我们的开发过程中,如果要查找Unity文档,通常会有以下两种方式: 1. 打开Unity的官网,查找文档 2. 查找本地安装的Unity文档 但是Unity官网上的文档,总是当前最新版本的文档 ...
- 如何监控网站URL是否正常?
监控网站URL是否正常最常见的方法莫过于wget和curl命令了,这两个命令都是非常强大的,强大到网友查看帮助都无从选择的地步了,今天呢,老男孩老师正好录制Shell编程实战课程,因此,顺便总结了一下 ...
- Mock Server之接口信息从DB获取
上一篇,写了Mock Server的基础实现与被测系统的对接 当我们mock的接口信息.返回值等时不时维护时,都要在代码中编辑,那体验就不太好了,如果这些可以直接在浏览器编辑就好了. 因此对后端部分做 ...
- python正则表达式(2)--编译正则表达式re.compile
编译正则表达式-- re.compile 使用re的一般步骤是先将正则表达式的字符串形 式编译为pattern实例,然后使用pattern实例处理文本并获取匹配结果(一个Match实例(值为True) ...
- 项目Beta冲刺(4/7)(追光的人)(2019.5.26)
所属课程 软件工程1916 作业要求 Beta冲刺博客汇总 团队名称 追光的人 作业目标 描述Beta冲刺每日的scrum和PM报告两部分 队员学号 队员博客 221600219 小墨 https:/ ...