NYOJ528-找球号(三)

找球号(三)
时间限制:2000 ms  |  内存限制:3000 KB
难度:2
描述
xiaod现在正在某个球场负责网球的管理工作。为了方便管理,他把每个球都编了号,且每个编号的球的总个数都是偶数。有一天,xiaod发现

少了一个球,你能帮他找出丢的那个球的球号吗?

输入
有多组测试数据。每组数据包括两行。
第一行是一个整数N(0<N<1000000),表示现在所剩的球数。
随后的一行是N个数,表示所剩的各个球的编号M(0<M<10^9)。
输出
对于每组数据,输出弄丢的那个球的球号。
样例输入
5
1 1 3 6 6
3
1 2 1样例输出
3
2来源
hdu改编
上传者
ACM_丁国强

 

用到了c++里STL库里面的一个容器---set容器

集和多集(set 和multiset 容器类)
#include <set>
一个集合(set)是一个容器,它其中所包含的元素的值是唯一的。
集和多集的区别是:set支持唯一键值,set中的值都是特定的,而且只出现一次;而multiset中可以出现副本键,同一值可以出现多次

set容器的常用方法:

begin() 返回指向第一个元素的迭代器
clear() 清除所有元素
count() 返回某个值元素的个数
empty() 如果集合为空,返回true(真)
end() 返回指向最后一个元素之后的迭代器,不是最后一个元素
equal_range() 返回集合中与给定值相等的上下限的两个迭代器
erase() 删除集合中的元素
find() 返回一个指向被查找到元素的迭代器
get_allocator() 返回集合的分配器
insert() 在集合中插入元素
lower_bound() 返回指向大于(或等于)某值的第一个元素的迭代器
key_comp() 返回一个用于元素间值比较的函数
max_size() 返回集合能容纳的元素的最大限值
rbegin() 返回指向集合中最后一个元素的反向迭代器
rend() 返回指向集合中第一个元素的反向迭代器
size() 集合中元素的数目
swap() 交换两个集合变量
upper_bound() 返回大于某个值元素的迭代器
value_comp() 返回一个用于比较元素间的值的函数

 

#include<stdio.h>
#include<set>
using namespace std;
set<int>a;
int main()
{
    int i,n,m;
    while(scanf("%d",&n)!=EOF)
    {
        for(i=0;i<n;i++)
        {
           scanf("%d",&m);
           //如果有成对的就删除 ,没有就插入,最后剩的那一个一定是不成对的那一个
           if(a.find(m)==a.end())
           {
              a.insert(m);
           }
           else
           a.erase(m);
        }
        printf("%d\n",*a.begin());   //返回剩下的那一个数(加*是因为begin()返回的是地址)
        a.clear();
    }
    return 0;
}

 

时间: 2024-08-30 17:16:56

NYOJ528-找球号(三)的相关文章

获取用户手机号、qq号、微信号三大件

问题描述 获取用户手机号.qq号.微信号三大件 eclipse在开发java web的时候,页面上获取用户手机号.qq号.微信号三大件,有什么做法?有没有视屏教学?谢谢! 解决方案 http://www.cnblogs.com/zyw-205520/p/3581088.html 解决方案二: 还真的不会,用户不输入怎么获得?除非共享. 解决方案三: qq号是什么手机号我都知道

CAXA三维CAD中的万能球:三维球的结构

CAXA实体设计有一个被她的用户称之为万能球的工具--三维球.有工程师说过,几乎70%以上的操作是通过三维球工具来实现的.出神入化的三维球工具为各种三维对象的平移.旋转.对齐等定向.定位,和拷贝.镜像.阵列(矩形.圆形.螺旋.3D曲线)等变换提供了灵活.强大.万能的操作,演绎出CAD发展史上革命性的技术突破,彻底改变了三维设计操作麻烦.修改困难的状况,提高了设计效率.(1)三维球的结构默认状态下三维球的形状如图1所示.类似一个坐标系,三维球在空间拥有三个外部控制手柄(长轴),三个内部控制手柄(短

NYOJ 138

  找球号(二) 时间限制:1000 ms | 内存限制:65535 KB 难度:5   描述 在某一国度里流行着一种游戏.游戏规则为:现有一堆球中,每个球上都有一个整数编号i(0<=i<=100000000),编号可重复,还有一个空箱子,现在有两种动作:一种是"ADD",表示向空箱子里放m(0<m<=100)个球,另一种是"QUERY",表示说出M(0<M<=100)个随机整数ki(0<=ki<=100000100)

NYOJ 86

  找球号(一) 时间限制:3000 ms | 内存限制:65535 KB 难度:3   描述 在某一国度里流行着一种游戏.游戏规则为:在一堆球中,每个球上都有一个整数编号i(0<=i<=100000000),编号可重复,现在说一个随机整数k(0<=k<=100000100),判断编号为k的球是否在这堆球中(存在为"YES",否则为"NO"),先答出者为胜.现在有一个人想玩玩这个游戏,但他又很懒.他希望你能帮助他取得胜利.   输入 第一行有

标准-12个球称量找其中的两个坏球

问题描述 12个球称量找其中的两个坏球 有12个球,其中10个球质量标准,另外两个球是坏球,质量不定(可能都比标准球重: 可能都比标准球轻:也可能一个比标准球重,一个比标准球轻).现在只有一个无刻度 的天平,怎样通过最少称量次数找到这两个坏球? 解决方案 12个球称三次找坏球12个乒乓球最少三次称量找不同球的方法 解决方案二: 6次.似乎有点多. 解决方案三: 至少3次,先分三组再比较

javaScript中两个等于号和三个等于号之间的区别介绍_基础知识

一言以蔽之:==先转换类型再比较,===先判断类型,如果不是同一类型直接为false. ===表示恒等于,比较的两边要绝对的相同 alert(0 == ""); // true alert(0 == false); // true alert("" == false); // true alert(0 === ""); // false alert(0 === false); // false alert("" === fal

软件工程一位大三学生成功上大学的案例

[来信] 贺老师: 您好!我是一名大三的学生,我一直关注您的博客!今夜想打扰一下您,想跟您交流. 我喜欢上CSDN,也喜欢看您的博客.不过,作为老师的您,我感到十分的震撼!像你这么敬业,一心一意为学生服务,你不仅为自己的学生提供指导还未素不相识的需要帮助的人以帮助的老师,我读了这么多年的书,你是第一位.我不是为了恭维你!在这里感谢你,感谢你的博客给我以专业上的指导和人生的指导. 我是读软件工程专业的,我对我的专业很感兴趣,更是对技术感兴趣.所以,我在大学里过的很充实,很快乐!我接触有关计算机的知

找工作找了好几个月,找不到,怎么办啊?

问题描述 找工作找了好几个月,找不到,怎么办啊?是培训一下吗?哪里培训好啊 解决方案 本帖最后由 q107770540 于 2016-03-04 11:02:06 编辑解决方案二:中国山东找蓝翔解决方案三:中国山东找蓝翔解决方案四:中国山东找蓝翔解决方案五:我都失业一个月了,莫急解决方案六:不建议将钱扔给培训公司纯属浪费父母的血汗钱解决方案七:先找个干着学习,工资低点也没关系,在公司学的可比培训的实用多了,培训很多都是纸上谈兵不切实际的,加油,祝你早日找到工作解决方案八:你工作几年了啊?我3月7

小创业团队如何找外国的顶级团队帮助设计LOGO?

摘要: 编者按:本文作者为荔枝FM的创始人Marco.荔枝FM是一个手机轻电台应用,能够在手机上开设自己的电台和录制节目. 在APP时代,一个产品的LOGO和ICON越来越重要,用户在下载你的APP之前 编者按:本文作者为荔枝FM的创始人Marco.荔枝FM是一个手机"轻电台"应用,能够在手机上开设自己的电台和录制节目. 在APP时代,一个产品的LOGO和ICON越来越重要,用户在下载你的APP之前,首先会看你的ICON是否设计得精美,在应用商店密密麻麻的APP列表中,如何让你的ICO