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 ...
随机推荐
- Java自学-JDK环境变量配置
JDK环境变量配置 分下载,配置,验证三个步骤进行JDK环境变量配置. 步骤 1 : 首先看配置成功后的效果 点WIN键->运行(或者使用win+r) 输入cmd命令 输入java -versi ...
- Django---Django中使用COOKIE和SESSION
Django---Django中使用COOKIE和SESSION 一丶Cookie cookie的由来 # HTTP协议是无状态的. # 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请 ...
- html5单词
< meta charset = " UTF-8 " > 国内编码 (meta-标签用来描述一个HTML网页文档的属性 charset-字 ...
- 关于UDP协议
UDP协议的特点. 1.UDP是一个无连接协议,传输数据之前接收端和发送端之间不建立连接. 想传输数据的时候就抓取数据扔出去,不监控是否被正确和全面的接受到. 2.因为不需要建立连接,也就不需要维护连 ...
- Float型 与 Double型数据的存储方式
先来了解一下浮点数在计算机中是以什么形式存储的 首先要知道计算机能懂得只有0和1,每一个0和1都占一个位 bit (比特)(Binary Digits):存放一位二进制数,最小的存储单位. 而对于存放 ...
- vue element-ui tree 根节点固定子节点懒加载 首次加载根节点并展开
关键代码: <el-tree ref="foldTree" node-key="id" :highlight-current="true&quo ...
- Junit测试入门
junit测试的6大注解 @BeforeClass 最先执行,在整个测试类中只会执行一次,所以它只能声明一次,并且被它标注的方法必须声明为static @Before 可以声明多个方 ...
- Kali -关闭防火墙
kali关闭防火墙前需要安装ufw 安装 apt-get install ufw 关闭 ufw disable # To disable the firewall 开启 ufw enable # To ...
- Git for Windows安装教程
1.国内直接从官网(http://git-scm.com/download/win)下载比较困难,速度极慢,需要翻墙. 这里提供一个国内的下载站,方便网友下载(https://npm.taobao.o ...
- 性能测试基础---联机负载&IP欺骗
·联机负载&IP欺骗 ·联机负载:又叫分布式负载,即通过多台负载机(压力机)运行脚本,向服务器发送请求,从而实现更多的负载压力. ·联机负载的具体操作: ·了解两个概念: ·控制机:所谓控制机 ...