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 ...
随机推荐
- QT制作一个位图画图板程序
本文学习如何创建一个Qt绘制程序,用户将能够通过使用不同的尺寸和画笔的颜色来表达他们的创造力. 主要功能:保存画板内容为图片.清除画板内容.设置画板大小.设置画笔颜色 新建基于QMainWindow的 ...
- AF step、Bokeh等说明
基本概念:FV: Focus Value, 用来衡量图像AF的清晰度. DOF: Deep Of Field, 景深,表示物距清晰的范围,景深越长表示物距前后清晰的范围越大. AF step一般来说, ...
- Node初识
初识Nodejs Node.js的诞生 作者Ryan Dahl 瑞恩·达尔 2004 纽约 读数学博士 2006 退学到智利 转向开发 2009.5对外宣布node项目,年底js大会发表演讲 2010 ...
- CDA数据分析实务【第一章:营销决策分析概述】
一.营销概述 营销是关于企业如何发现.创造和交付价值以满足一定目标市场的需求,同时获取利润的学科.营销学用来辨识未被满足的需求,定义,度量目标市场的规模和利润潜力,找到最合适企业进入的细分市场和适合该 ...
- Jmeter jmeter-server.bat 无法启动
问题现象: 解决方法: 找到如下文件: 在目录\apache-jmeter-5.0\bin下,打开名为jmeter.properties的文件 找到server.rmi.ssl.disable=fal ...
- org.apache.catalina.core.StandardService - Stopping service [Tomcat]
今天在启动springboot项目突然启动失败,但是在测试日志文件,以为是日志出错,下面这个是logback打印的异常信息. 2019-05-30 15:09:10.686 [restartedMai ...
- ExtendEvent-判断DB是否有在使用
判断一个DB是否在被使用,需要观察一段时间,创建一个扩展事件会话,收集该DB是否有执行SQL即可. 创建会话 CREATE EVENT SESSION [DB_Usage] ON SERVER ) A ...
- ajax入门简介
ajax的实现原理 ajax的定义是 Asynchronous JavaScript and XML(异步的 JavaScript 和 XML).它可以在不刷新页面的情况下提交请求与服务器进行交互动作 ...
- Kubernetes 监控
1. Weave Scope Weave Scope 容器地图 创建 Kubernetes 集群并部署容器化应用只是第一步.一旦集群运行起来,我们需要确保一起正常,所有必要组件就位并各司其职,有足够的 ...
- php的选择排序
往前. <?php /** * 选择排序 * 工作原理是每次从待排序的元素中的第一个元素设置为最小值, * 遍历每一个没有排序过的元素,如果元素小于现在的最小值, * 就将这个元素设置成为最小值 ...