通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"NOIP真题" 试卷中 NOIP第二十二届全国青少年信息学奥林匹克联赛初赛试题[2016提高组] 中有题目如下:
第1题
(交朋友)根据社会学研究表明,人们都喜欢找和自己身高相近的人做朋友。 现在有 n 名身高两两不相同的同学依次走入教室,调查人员想预测每个人在走入教室的瞬间最想和已经进入教室的哪个人做朋友。当有两名同学和这名同学的身高差一样时,这名同学会更想和高的那个人做朋友。比如一名身高为 1.80 米的同学进入教室时,有一名身高为 1.79 米的同学和一名身高为 1.81 米的同学在教室里,那么这名身高为1.80 米的同学会更想和身高为 1.81 米的同学做朋友。对于第一个走入教室的同学我们不做预测。
由于我们知道所有人的身高和走进教室的次序,所以我们可以采用离线的做法来解决这样的问题,我们用排序加链表的方式帮助每一个人找到在他之前进入教室的并且和他身高最相近的人。
#include <iostream> using namespace std; #define MAXN 200000 #define infinity 2147483647 int answer[MAXN], height[MAXN], previous[MAXN], next[MAXN]; int rank[MAXN]; int n; void sort(int l, int r) { int x = height[rank[(l + r) / 2]], i = l, j = r, temp; while (i <= j) { while (height[rank[i]] < x) i++; while (height[rank[j]] > x) j--; if ( ___(1)___ ) { temp = rank[i]; rank[i] = rank[j]; rank[j] = temp; i++; j--; } } if (i < r) sort(i, r); if (l < j) sort(l, j); } int main() { cin >> n; int i, higher, shorter; for (i = 1; i <= n; i++) { cin >> height[i]; rank[i] = i; } sort(1, n); for (i = 1; i <= n; i++) { previous[rank[i]] = rank[i - 1]; ___(2)___ ; } for (i = n; i >= 2; i--){ higher = shorter = infinity; if (previous[i] !=0) shorter = height[i] - height[previous[i]]; if (next[i] != 0) ___(3)___ ; if ( ___(4)___ ) answer[i] = previous[i]; else answer[i] = next[i]; next[previous[i]] = next[i]; ___(5)___ ; } for (i = 2; i <= n; i++) cout << i << ":" << answer[i]; return 0; }
所属试卷:NOIP第二十二届全国青少年信息学奥林匹克联赛初赛试题[2016提高组]
以下代码的输出结果是( )。
下面程序输出的结果是( )。
给定程序MODI1.C中函数fun的功能是:计算n!。
在进行逻辑设计时,将E–R图中实体之间联系转换为关系数
在数据管理的三个发展阶段中,数据的共享性好且冗余度最小
有以下程序程序的运行结果是( )。
一个运动队有多个队员,一个队员仅属于一个运动队,一个队
有以下程序:程序运行时从第一列开始输入: Peach
C源程序中不能表示的数制是。
已知函数定义def demo(x,y,op): ret
表达式'%s'%65==str(65)的值为_____
已知列表x=[1,3,2],那么表达式[value f
以下程序的功能是判断输入的某个年份是否是闰年,请填空。
请读程序段以上程序段的输出结果是__________。
采用ADSL上网,除需要用专用的ADSL Modem外
甲乙双方均采用后退N帧协议(GBN)进行持续的双向数据
对初始数据序列(8, 3, 9, 11, 2, 1,
创建一个shell 脚本,它从用户那里接收10个数,并
在数据库的E-R图中,矩形框表达的是 。
用二维表来表示实体类型及实体间联系的数据模型称为
在数据库的并发控制中,常用的封锁类型有两种,分别是排它
查看所有数据库的命令是( )
某请求分页存储系统的页大小为 4KB,按字节编址。系统
成本估计方法主要有 、 和算法模型估计三种类型
下列语句输出的结果是_____。
在C语言中,格式输入操作是由库函数(只写函数名)___
用筛选法可得到2-n(n<10000)之间的所有素数,
以下叙述中正确的是
假设输入的 n 和 d[i] 都是不超过 10000的
欢乐喷球:儿童游乐场有个游戏叫“欢乐喷球”,正方形场地
更多选择题
更多填空题
计算机二级Python语言程序设计模拟试卷
Python第三方库
2025年考研408计算机统考真题在线评测(附答案)
Python标准库
Python函数
Python文件
Python组合数据类型