NOIP2006复赛试题(普及组)
©中国计算机学会,2006
1
第十二届全国青少年信息学奥林匹克
联赛复赛试题
(
NOIP2006
普及组)
竞赛时间:
2006
年
11
月
18
日下午1:30-4:30
试题名称
random happy count sequence
目录
random happy count sequence
输入文件名
random.in happy.in count.in sequence.in
输出文件名
random.out happy.out count.out sequence.out
试题类型 非交互式程序题 非交互式程序题 非交互式程序题 非交互式程序题
附加文件 无 无 无 无
时限
1
秒
1
秒
1
秒
1
秒
关于竞赛中不同语言使用限制的说明
一.关于使用
Pascal
语言与编译结果的说明
1
.对于
Pascal
语言的程序,当使用
IDE
和
fpc
编译结果不一致时,以
fpc
的编译结果为准。
2
.允许使用数学库
(usesmath
子句
)
,以及
ansistring
。但不允许使用编译开关(最后测试时
pascal
的范围检查开关默认关闭:
{$R-,Q-,S-}
),也不支持与优化相关的选项。
二.关于
C++
语言中模板使用的限制说明
1
.允许使用的部分
:
标准容器中的布尔集合,迭代器,串,流。
相关的头文件:<bitset><iterator><string><iostream>
2
.禁止使用的部分
:
序列:vector,list,deque
序列适配器:stack,queue,priority_queue
关联容器:map,multimap,set,multiset
拟容器:valarray
散列容器:hash_map,hash_set,hash_multimap,hash_multiset
所有的标准库算法
相关头文件:<vector><list><deque><stack><map><set><algorithm>
NOIP2006复赛试题(普及组)
©中国计算机学会,2006
2
1.明明的随机数
(random.pas/c/cpp)
【问题描述】
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N
个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去
掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学
做调查。请你协助明明完成“去重”与“排序”的工作。
【输入文件】
输入文件random.in有2行,第1行为1个正整数,表示所生成的随机数的个数:
N
第2行有N个用空格隔开的正整数,为所产生的随机数。
【输出文件】
输出文件random.out也是2行,第1行为1个正整数M,表示不相同的随机数的个数。第2
行为M个用空格隔开的正整数,为从小到大排好序的不相同的随机数。
【输入样例】
10
2040326740208930040015
【输出样例】
8
152032406789300400
2.开心的金明
(happy.pas/c/cpp)
【问题描述】
NOIP2006年普及组复赛试题,2006年NOIP信息学奥赛普及组复赛C++真题