【洛谷 P1059】[NOIP2006 普及组] 明明的随机数 题解(集合)

简介: **NOIP2006普及组题目**,明明需生成不重复的1-1000间随机整数,输入含两行:第一行是整数N(≤100),第二行是N个随机数。输出两行,第一行是唯一数的个数M,第二行是排序后的唯一数。示例:输入10个数含重复,输出8个不同数排序后结果。解题方法:利用C++的`set`进行去重和排序。

[NOIP2006 普及组] 明明的随机数

题目描述

明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了 $N$ 个 $1$ 到 $1000$ 之间的随机整数 $(N\leq100)$,对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。

输入格式

输入有两行,第 $1$ 行为 $1$ 个正整数,表示所生成的随机数的个数 $N$。

第 $2$ 行有 $N$ 个用空格隔开的正整数,为所产生的随机数。

输出格式

输出也是两行,第 $1$ 行为 $1$ 个正整数 $M$,表示不相同的随机数的个数。

第 $2$ 行为 $M$ 个用空格隔开的正整数,为从小到大排好序的不相同的随机数。

样例 #1

样例输入 #1

10
20 40 32 67 40 20 89 300 400 15

样例输出 #1

8
15 20 32 40 67 89 300 400

提示

NOIP 2006 普及组 第一题

思路

使用集合的特点完成完成“去重”与“排序”。

AC代码

#include <iostream>
#include <set>
#define AUTHOR "HEX9CF"
using namespace std;

int main() {
   
    int n;
    set<int> s;
    cin >> n;
    while(n--){
   
        int in;
        cin >> in;
        s.insert(in);
    }
    cout << s.size() << endl;
    set<int>::iterator it;
    for(it = s.begin(); it != s.end();it++){
   
        cout << *it << " ";
    }
    return 0;
}
目录
相关文章
|
资源调度
一天掌握latex论文编辑,从标题作者,段落,数学公式,图片,图表,到参考文献全流程
一天掌握latex论文编辑,从标题作者,段落,数学公式,图片,图表,到参考文献全流程
1231 0
|
5月前
|
存储 算法 物联网
RFID室内人员定位管理
RFID室内人员定位管理系统通过射频信号实现人员位置的精确追踪。为人员配备带有唯一识别码的RFID标签(如卡片、腕带),室内安装多个阅读器与标签通信,读取信息。系统基于RSSI、TOA等算法计算标签位置,并在电子地图上显示实时动态。管理软件可分析人员轨迹、停留时间等数据,助力高效调度与管理,广泛适用于复杂室内场景。
|
8月前
|
人工智能 负载均衡 并行计算
DeepSeek-V3 高效训练关键技术分析
本文从模型架构、并行策略、通信优化和显存优化四个方面展开,深入分析了DeepSeek-V3高效训练的关键技术,探讨其如何以仅5%的算力实现对标GPT-4o的性能。
1356 146
|
11月前
|
安全 小程序 Java
Java“AccessControlException”报错解决
Java中的“AccessControlException”通常发生在尝试访问受安全策略限制的资源时。解决方法包括:1. 检查安全策略文件(java.policy)配置;2. 确保代码具有足够的权限;3. 调整JVM启动参数以放宽安全限制。
778 1
|
7月前
|
机器学习/深度学习 人工智能 编解码
Step-Video-TI2V:开源视频生成核弹!300亿参数+102帧电影运镜
Step-Video-TI2V 是阶跃星辰推出的开源图生视频模型,支持根据文本和图像生成高质量视频,具备动态性调节和多种镜头运动控制功能,适用于动画制作、短视频创作等场景。
356 0
Step-Video-TI2V:开源视频生成核弹!300亿参数+102帧电影运镜
|
存储 人工智能 运维
重磅!阿里云可观测产品家族全新升级,AI +数据双驱动,打造全栈可观测体系
近日,阿里云可观测产品家族正式发布云监控 2.0,隶属产品日志服务 SLS、云监控 CMS、应用实时监控服务 ARMS 迎来重磅升级。
1060 112
|
存储
【洛谷 P2141】[NOIP2014 普及组] 珠心算测验 题解(集合+多重循环)
**NOIP2014普及组的珠心算测验题要求参赛者找出给定集合中多少个数可表示为其他两个不同数的和。输入含n个正整数,输出满足条件的数的个数。样例输入4个数,输出2,因1+2=3且1+3=4。代码利用集合存储和,遍历所有数对组合,当找到匹配和时插入集合,最后输出集合大小。注意数据规模为n≤100,数不超过10,000。**
313 0
|
存储 边缘计算 人工智能
边缘计算问题之边缘计算的定义如何解决
边缘计算问题之边缘计算的定义如何解决
551 0
|
12月前
|
算法
PID算法原理分析
【10月更文挑战第12天】PID控制方法从提出至今已有百余年历史,其由于结构简单、易于实现、鲁棒性好、可靠性高等特点,在机电、冶金、机械、化工等行业中应用广泛。
376 0