NOIP复赛模拟试题2

合集下载

NOIP复赛普及组模拟题2

NOIP复赛普及组模拟题2

输入格式
第一行:两个用空格分开的整数:N和M 第二行到第M + 1行:两个用空格分开的整数表示一条道路连接的两个路口的编号
输出格式
第一行:最拥挤的道路上通过的路径数量 输入样例:
7 7 1 3 3 4 3 5 4 6 2 3 5 6 6 7 输出样例: 4 样例解释:
(最拥挤的道路是(6,7),一共有四条路径: 13467 13567
2.奶牛交通
由于奶牛数量的大膨胀, 牧场里通往牛棚的道路不堪重负,为了缓解在挤奶高峰 时间的交通堵塞,农夫约翰决定找出最拥挤的道路来整治。牧场里有 M (1 ≤ M ≤ 50000)条单行的道路,N (1 ≤ N ≤ 5000)个路口(从 1 到 N 标号) ,每条道 路连接了两个不同的路口。牛棚就在 N 号路口上。.每一条道路都由编号较小的 路口通向编号较大的路口, 所以在道路网络里将不会出现环,而且犹如老话所讲 的那样: “条条道路通牛棚” 。注意同一对路口上可能出现一条以上的道路。在挤 奶的高峰期,一些奶牛会从放牧点走向牛棚。那些只出不进的路口都是放牧点。 一个放牧点连向牛棚的道路序列构成一条路径, 每条路径上都会有一头不同的奶 牛通过。 帮助约翰找到最拥挤的那条道路上通过的奶牛数量。我们保证结果不会 超过一个有符号的 32 位整数。
全国信息学奥林匹克联赛复赛
文件名 输出文件名 提交程序名 每个测试点时限 空间限制 奶牛排名 rank.in rank.out rank.* 1秒 128M 奶牛交通 traffic.in traffic.out traffic.* 1秒 128M crop circles cropcir.in cropcir.out cropcir.* 1秒 128M
享受巧克力
ceating.in ceating.out ceating.* 1秒 128M

乌龟棋 (NOIP2010)复赛 提高组 试题二 解题代码

乌龟棋 (NOIP2010)复赛 提高组 试题二 解题代码

乌龟棋(NOIP2010)复赛提高组试题二解题代码分类:C/C++解题代码2011-07-23 18:56 271人阅读评论(2) 收藏举报view plaincopy to clipboardprint?1. /*2. 全国信息学奥林匹克联赛(NOIP2010)复赛提高组第二题3. 【问题描述】4. 小明过生日的时候,爸爸送给他一副乌龟棋当作礼物。

5. 乌龟棋的棋盘是一行N 个格子,每个格子上一个分数(非负整数)。

棋盘第1 格是唯一6. 的起点,第N 格是终点,游戏要求玩家控制一个乌龟棋子从起点出发走到终点。

7. ……8. 1 2 3 4 5 …… N9. 乌龟棋中M 张爬行卡片,分成4 种不同的类型(M 张卡片中不一定包含所有4 种类型10. 的卡片,见样例),每种类型的卡片上分别标有1、2、3、4 四个数字之一,表示使用这种卡11. 片后,乌龟棋子将向前爬行相应的格子数。

游戏中,玩家每次需要从所有的爬行卡片中选择12. 一张之前没有使用过的爬行卡片,控制乌龟棋子前进相应的格子数,每张卡片只能使用一次。

13. 游戏中,乌龟棋子自动获得起点格子的分数,并且在后续的爬行中每到达一个格子,就得到14. 该格子相应的分数。

玩家最终游戏得分就是乌龟棋子从起点到终点过程中到过的所有格子的15. 分数总和。

16. 很明显,用不同的爬行卡片使用顺序会使得最终游戏的得分不同,小明想要找到一种卡17. 片使用顺序使得最终游戏得分最多。

18. 现在,告诉你棋盘上每个格子的分数和所有的爬行卡片,你能告诉小明,他最多能得到19. 多少分吗?20. 【输入】21. 输入文件名tortoise.in。

输入文件的每行中两个数之间用一个空格隔开。

22. 第1 行2 个正整数N 和M,分别表示棋盘格子数和爬行卡片数。

23. 第2 行N 个非负整数,a1, a2, ……, aN,其中ai 表示棋盘第i 个格子上的分数。

24. 第3 行M 个整数,b1,b2, ……, bM,表示M 张爬行卡片上的数字。

NOIP提高组复赛题目

NOIP提高组复赛题目

第一题题库NOIP20071.统计数字(count.pas/c/cpp)【问题描述】某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*109)。

已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。

【输入】输入文件count.in包含n+1行:第1行是整数n,表示自然数的个数。

第2~n+1行每行一个自然数。

【输出】输出文件count.out包含m行(m为n个自然数中不相同数的个数),按照自然数从小到大的顺序输出。

每行输出两个整数,分别是自然数和该数出现的次数,其间用一个空格隔开。

【输入输出样例】【限制】40%的数据满足:1<=n <=100080%的数据满足:1<=n <=50000100%的数据满足:1<=n <=200000,每个数均不超过1 500 000 000(1.5*109)NOIP20081. 笨小猴(wird.pas/c/cpp)【问题描述】笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。

但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大!这种方法的具体描述如下:假设maxn 是单词中出现次数最多的字母的出现次数,minn 是单词中出现次数最少的字母的出现次数,如果maxn-minn 是一个质数,那么笨小猴就认为这是个Lucky Word ,这样的单词很可能就是正确的答案。

【输入】输入文件word.in 只有一行,是一个单词,其中只可能出现小写字母,并且长度小于100。

【输出】输出文件word.out 共两行,第一行是一个字符串,假设输入的的单词是Lucky Word ,那么输出“Lucky Word ”,否则输出“No Answer ”;第二行是一个整数,如果输入单词是Lucky Word,输出maxn-minn 的值,否则输出0。

noip普及组复赛试题及答案

noip普及组复赛试题及答案

noip普及组复赛试题及答案一、选择题1. 在计算机科学中,以下哪个概念与数据结构最相关?A. 算法B. 操作系统C. 网络协议D. 编译原理答案:A2. 以下哪种排序算法的时间复杂度为O(n^2)?A. 快速排序B. 归并排序C. 堆排序D. 冒泡排序答案:D3. 在C++中,以下哪个关键字用于定义类?A. structB. unionC. enumD. typedef答案:A4. 以下哪个选项不是数据库管理系统(DBMS)的特性?A. 数据持久性B. 数据共享C. 数据加密D. 数据独立性答案:C5. 在计算机网络中,TCP和UDP协议分别属于哪一层?A. 传输层B. 应用层C. 网络层D. 物理层答案:A二、填空题1. 在计算机程序中,______ 用于定义数据的存储方式和组织形式。

答案:数据结构2. 一个算法的时间复杂度为O(1),表示该算法的执行时间与输入数据的规模______。

答案:无关3. 在C++中,______ 是一种特殊的类,它提供了一种方式来定义数据类型。

答案:typedef4. 数据库管理系统(DBMS)通常包含数据定义语言(DDL)、数据操纵语言(DML)和______。

答案:数据控制语言(DCL)5. 在计算机网络中,______ 协议负责在网络层进行数据包的路由选择。

答案:IP三、简答题1. 请简述面向对象编程(OOP)的三个基本特征。

答案:封装、继承、多态2. 描述二分查找算法的基本步骤。

答案:二分查找算法的基本步骤包括:首先确定数组是有序的,然后取中间元素与目标值比较,如果中间元素等于目标值,则查找成功;如果目标值小于中间元素,则在左半部分继续查找;如果目标值大于中间元素,则在右半部分继续查找,直到找到目标值或查找范围为空。

四、编程题1. 编写一个函数,实现对整数数组的排序。

答案:以下是一个简单的冒泡排序算法实现:```cppvoid bubbleSort(int arr[], int n) {for (int i = 0; i < n-1; i++) {for (int j = 0; j < n-i-1; j++) {if (arr[j] > arr[j+1]) {swap(arr[j], arr[j+1]);}}}}```2. 编写一个函数,实现计算一个整数的阶乘。

NOIP复赛模拟题2

NOIP复赛模拟题2

NOIP复赛测试题31、神牛果(cow.cpp)【题目描述】在某次膜拜大会上,一些神牛被要求集体膜拜。

这些神牛被奖励每人吃一些神牛果。

但是,每个神牛的肚量不一样。

为了不显得某些人吃得太多,决定两人一组,使得吃得最多的那组吃得尽量少。

(神牛数为偶数)【输入格式】第一行一个整数 n(<=10000) 。

第二行有 n 个正整数,为给定的一列数字,表示每个神牛能吃多少神牛果。

(数字均小于 1000000000)【输出格式】一个正整数,吃的最多的一组神牛吃的个数的最小值。

【输入样例】41 52 8【输出样例】92、序列1(ones.cpp)【题目描述】输入一个不含因子2和5的整数n,计算在十进制下至少多少个连续的1能被n整除。

【输入格式】第一行为正整数t(<10000);接下来t行,每行一个正整数n(≤10000)。

【输出格式】对于每个数据,输出一个整数m,表示至少连续m个1能被n整除。

【输入样例】239901【输出样例】312【样例说明】111能被3整除,而111111111111能被9901整除。

3、过桥问题(bridge.cpp)【问题描述】现在有N辆车要按顺序通过一个单向的小桥,由于小桥太窄,不能有两辆车并排通过,所以在桥上不能超车。

另外,由于小桥建造的时间已经很久,所以只能承受有限的重量,记为MAX(吨),即任意时刻在桥上行驶的车辆的总重量不能超过MAX(吨)。

因此,车辆在过桥的时候必须有管理员控制,将这N辆车按初始的顺序分组,每次让一个组过桥,并且只有在一个组中的所有的车辆全部过桥之后才能让下一组车辆上桥,而每组车的过桥时间由该组中速度最慢的那辆车决定。

现在,给出每辆车的重量和最大速度,编程将这N辆车分组,使得全部车辆通过小桥的时间最短。

【输入格式】第一行有3个数,分别为MAX(吨)、Len(桥的长度,单位:Km)和N(以空格隔开);接下来有N行,每行有两个数,分别表示每辆车的重量Ti(吨)和最大速度Vi(Km/h)。

NOIP复赛模拟练习题

NOIP复赛模拟练习题

NOIP复赛模拟练习题(一)1.埃及分数源文件:egfranc.pas/c/cpp可执行文件:egfranc.exe输入文件:egfranc.in输出文件:egfranc.out古代埃及人喜欢用分子为1的分数,即使是普通的分数他们也喜欢将它转为若干个分子为1的分数的和。

如2/5,他们习惯表示为:1/3+1/15。

现要求你将输入的一个分子不为1的真分数转为若干个分子为1的不同的分数的和,输出要求按分母由小到大的顺序,并且是分母尽可能的小。

输入两个自然数A、B,分别表示分子和分母,输出相应的埃及分数。

样例:egfranc.in2 5egfranc.out2/5=1/3+1/152.N个因子的最小自然数源文件:minnat.pas/c/cpp可执行文件:minnat.exe输入文件:minnat.in输出文件:minnat.out一个自然数总有若干个因子,如6有4个因子:1,2,3,6。

现要求你对于给定的自然数n(1<n<=10000),求出有n个因子的最小自然数。

输入就一个数n,输出有n个因子的最小自然数。

样例:minnat.in15minnat.out1443.数字拆成K份源文件:numkd.pas/c/cpp可执行文件:numkd.exe输入文件:numkd.in输出文件:numkd.out将一个正整数n拆成k个正整数之和,如n=5,k=2时,不同的拆分方法有两种:5=1+4=2+3。

现要求根据给定的n和k,求出可能的不同拆分的数目。

输入就一行两个数,分别表示n和k(1<n<1000,0<k<=n),输出就一个数字,表示不同的拆分方法数目。

样例:numkd.in5 2numkd.out24、好心的出租车司机源文件:taxi.pas/c/cpp可执行文件:taxi.exe输入文件:taxi.in输出文件:taxi.out题目描述一位出租车司机向你抱怨:城市发展太快,公路越来越多,他已经疲于计算行驶路线,于是求助你开发一个自动导航的工具。

NOIP 2016 提高组 复赛 Day2

NOIP 2016 提高组 复赛 Day2

第22届全国青少年信息学奥林匹克联赛CCF-NOIP-2016提高组(复赛)第二试竞赛时间:2016年11月20日8:30 ∼12:00提交源程序文件名编译选项注意事项:1.文件名(程序名和输入输出文件名)必须使用英文小写。

2.除非特殊说明,结果比较方式均为忽略行末空格及文末回车的全文比较。

3.C/C++中函数main()的返回值类型必须是int,程序正常结束时的返回值必须是0。

4.全国统一评测时采用的机器配置为:CPU AMD Athlon(tm) II x2 240 processor,2.8GHz,内存4G,上述时限以此配置为准。

5.只提供Linux格式附加样例文件。

6.评测在NOI Linux下进行。

7.编译时不打开任何优化选项。

nnii2组合数问题(problem )【问题描述】组合数 C m 表示的是从 n 个物品中选出 m 个物品的方案数。

举个例子,从 (1, 2, 3) 三个物品中选择两个物品可以有 (1, 2), (1, 3), (2, 3) 这三种选择方法。

根据组合数的定义,我们可以给出计算组合数 C m 的一般公式:C m = n !其中 n ! = 1 × 2 × · · · × n 。

nm !(n − m )!小葱想知道如果给定 n , m 和 k ,对于所有的 0 ≤ i ≤ n , 0 ≤ j ≤ min (i , m ) 有多少对(i , j ) 满足 C j是 k 的倍数。

【输入格式】从文件problem.in 中读入数据。

第一行有两个整数 t , k ,其中 t 代表该测试点总共有多少组测试数据, k 的意义见 【问题描述】。

接下来 t 行匈行两个整数 n , m ,其中 n , m 的意义见【问题描述】。

【输出格式】输出到文件problem.out 中。

t 行,匈行一个整数代表所有的 0 ≤ i ≤ n , 0 ≤ j ≤ min (i , m ) 中有多少对 (i , j ) 满足C j是 k 的倍数。

历届noip提高组复赛试题

历届noip提高组复赛试题

NOI’ 95“同创杯”全国青少年信息学(计算机)奥林匹克竞赛分区联赛复赛试题(高中组)(上机编程,完成时间:210 分钟)<1>编码问题:设有一个数组A:ARRAY[0..N-1] OF INTEGER;数组中存放的元素为0~N-1 之间的整数,且A[i]≠ A[j](当i≠ j时)。

例如: N=6 时,有:此时,数组 A 的编码定义如下:A[0] 的编码为0;A[i] 的编码为:在A[0] ,A[1]∴上面数组 A 的编码为:A= ( 4,3, 0, 5,1, 2),, A[i-1] 中比 A[i] 的值小的个数(B= (0, 0,0,3,1, 2)i=1 ,2,, N-1 )程序要求解决以下问题:①给出数组 A 后,求出其编码。

②给出数组 A 的编码后,求出 A 中的原数据。

<2> 灯的排列问题:设在一排上有 N 个格子( N≤ 20),若在格子中放置有不同颜色的灯,每种灯的个数记为 N 1, N2, N k( k 表示不同颜色灯的个数)。

放灯时要遵守下列规则:①同一种颜色的灯不能分开;②不同颜色的灯之间至少要有一个空位置。

例如: N=8 (格子数)R=2 (红灯数)B=3 (蓝灯数)放置的方法有:R-B 顺序R R B B BR R B B BR R B B BR R B B BR R B B BR R B B BB-R顺序B B B BBBBBBBBBBBBBBR RRRBRRRRRRRR放置的总数为12 种。

数据输入的方式为:NP1(颜色,为一个字母)P2N1(灯的数量)N2Q(结束标记, Q 本身不是灯的颜色)程序要求:求出一种顺序的排列方案及排列总数。

<3> 设有一个四层的积木块,1~ 4 层积木块的数量依次为:5, 6,7, 8如下图所示放置:815851691423414326其中,给出第三层与第四层所标示的数字,并已知第三层的数据是由第四层的数据计算出来的。

noip普及组复赛入门测试(答案+测试数据)

noip普及组复赛入门测试(答案+测试数据)

一、新龟兔赛跑(文件名xgtsp.pas)新龟兔赛跑比赛即将举行,此次龟兔赛跑比赛的规则与以往有所不同,不再考察兔子和乌龟谁在最短的时间内跑完规定的路程,而是考察谁在规定时间内跑的路程更长,且兔子和乌龟跑步都是匀速的。

由于兔子的坏习惯,它总喜欢把比赛的总时间T小时中的K小时拿来睡觉。

现在给你比赛的总时间T、兔子的睡觉时间K、兔子的速度U、乌龟的速度V,需要你求出该次比赛谁最后获胜。

输入第一行为一个整数X,表示有X组输入数据。

每组数据只有一行,包括4个数T、K、U、V (1 ≤ T≤ 300,0 ≤ K ≤ T,1 ≤ U ≤ 100,1 ≤ V ≤ 100)。

对于每组数据,输出只有一个数,如果兔子获胜则输出-1,如果乌龟获胜则输出1,如果同时到达则输出0。

允许输入一组数后立即输出对应的结果。

样例输入:21 12 16 2 6 3样例输出:1-1varv,u,t,k,n,i:integer;beginreadln(n);for i:=1 to n do beginreadln(t,k,u,v);if v*t>U*(t-k) then writeln(1);if v*t<U*(t-k) then writeln(-1);if v*t=U*(t-k) then writeln(0);end;end.1、输入:26 2 6 28 6 8 2输出:-12、输入:2300 280 60 20120 0 12 13输出:113、输入:3100 20 50 30100 50 45 25100 80 27 17输出:-1114、输入:3150 77 29 23127 11 22 13139 22 13 7输出:1-1-1二、小球路程(文件名:XQLC.PAS )已知小球从100米高度自由下落,落地后反弹起,又落地,又弹起,……。

每次弹起的高度都是上一次高度的一半。

求小球第N次反弹起的高度和球在整个过程所经过的路程(包括下落和反弹),用键盘输入N,输出反弹高度和经过路程,结果保留两位小数。

NOIP2018提高组复赛试题day2

NOIP2018提高组复赛试题day2

CCF全国信息学奥林匹克联赛(NOIP2018)复赛提高组 day2(请选手务必仔细阅读本页内容)注意事项:1、文件名(程序名和输入输出文件名)必须使用英文小写。

2、C/C++中函数main()的返回值类型必须是int,程序正常结束时的返回值必须是0。

3、全国统一评测时采用的机器配置为:Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz,内存32GB。

上述时限以此配置为准。

4、只提供Linux格式附加样例文件。

5、特别提醒:评测在当前最新公布的NOI Linux下进行,各语言的编译器版本以其为准。

1.旅行(travel.cpp/c/pas)【问题描述】小Y是一个爱好旅行的OIer。

她来到X国,打算将各个城市都玩一遍。

小Y了解到,X国的 n 个城市之间有 m 条双向道路。

每条双向道路连接两个城市。

不存在两条连接同一对城市的道路,也不存在一条连接一个城市和它本身的道路。

并且,从任意一个城市出发,通过这些道路都可以到达任意一个其他城市。

小Y只能通过这些道路从一个城市前往另一个城市。

小Y的旅行方案是这样的:任意选定一个城市作为起点,然后从起点开始,每次可以选择一条与当前城市相连的道路,走向一个没有去过的城市,或者沿着第一次访问该城市时经过的道路后退到上一个城市。

当小Y回到起点时,她可以选择结束这次旅行或继续旅行。

需要注意的是,小Y要求在旅行方案中,每个城市都被访问到。

为了让自己的旅行更有意义,小Y决定在每到达一个新的城市(包括起点)时,将它的编号记录下来。

她知道这样会形成一个长度为 n 的序列。

她希望这个序列的字典序最小,你能帮帮她吗?对于两个长度均为 n 的序列A和B,当且仅当存在一个正整数x,满足以下条件时,我们说序列A的字典序小于B。

⚫对于任意正整数1≤i<x,序列A的第i个元素A i和序列B的第i个元素B i相同。

⚫序列A的第x个元素的值小于序列B的第x个元素的值。

NOIP复赛模拟题

NOIP复赛模拟题

模拟题11. 1.分数(mark.cpp)高考分数刚刚公布.共有n人参加考试,为了便于填报志愿,教育部把所有考生的成绩平均分为m档.保证n是m的倍数.考试成绩名次在(k-1)*(n/m)+1名到k*(n/m)名的考生被分在第k档(k=1,2,3…..m).并列第i名的所有考生都算第i名.小Y刚参加完高考,迫切想知道自己被分在第几档,你能帮助他吗?输入格式:第一行两个整数n,m<=1000,保证n是m的倍数.接下来n行,每行一个整数ai表示第i 个考生的成绩.最后一行,一个整数x,1<=x<=n,表示询问第i 个考生被分在哪一档.输出格式:一行一个数,表示被分在哪一档.输入输出样例:mark.in3 36326516243mark.out32. 2.背单词(words.cpp)英语四级考试临近了,小Y却发现他已经把以前学的单词几乎忘光了.好在现在离考试还有一段时间.小Y决定从现在开始夜以继日地背单词,也就是一天24小时地背. 今天的日期(时间)是yyyy年mm月dd日hh时min分.这之间的所有时间小Y都用来背单词了,那么考试之前他最多能背多少个单词呢?时间紧张,小Y只管数量不管质量.当然有的单词长一些,有的单词短一些.长单词难背一些,短的单词好背一些.根据小Y的经验,他能一眼看出背某一个单词需要的时间,以分钟记. 现在给你一个字典,请你挑出最多的单词使小Y能在考前背出来.输入格式:第一行一个整数n,表示字典中的单词数,n<=5000.接下来n行,每行一个整数表示背这个单词需要的时间,以分钟记.小于等于10000,(这个单词本身是什么并不重要)接下来两行依次是当前时间和考试时间.时间给出的格式是:yyyy-mm-dd-min.例如:2010-04-22-02:00,采用24小时制,每天从00:00-23:59.年份从0000到9999.输出格式:一行,一个数,表示考前小Y最多能背出的单词数.输入输出样例:words.in2112007-06-23-11:592007-06-23-12:00words.out13溶液模拟器(simulator.cpp)小Y到网上下载了一个溶液配置模拟器。

2014noip复赛模拟练习2(答案)

2014noip复赛模拟练习2(答案)

1.某监狱里有个很长的走廊,走廊中一个接一个地有N个房间。

每个房间中锁着一个犯人。

一天夜里,狱警决定玩一个无聊游戏。

第1轮中,他喝了一口威士忌,然后打开每个房间。

第2轮,他喝了一口威士忌,然后按2的倍数遍历每个房间。

第3轮,他又喝了一口威士忌,然后遍历所有3的倍数的房间。

依次类推。

在遍历中,如果房间是锁着的,则打开;否则锁上。

他这样重复N轮,最终醉酒。

这时有些囚犯看到自己房间的锁被打开了,他们立即逃跑。

对于有N个房间的走廊,最终会有多少囚犯逃脱?输入:输入数据的第一行中有一个整数,表示有多少组测试数据。

接下来的若干行每行包含一个值为5-100的整数,这是房间的数目。

输出:对应输入数据输出多行,每行一个整数,表示逃脱的囚犯数量。

样例输入:25100样例输出:210var n,num,s,m,i,k,j:integer;a:array[0..200]of boolean;begin readln(num);for i:=1 to num dobegin readln(n);fillchar(a,sizeof(a),true);for j:=1 to n dofor k:=1 to n doif k mod j=0 then a[k]:=not a[k];s:=0;for j:=1 to n doif a[j]=false then inc(s);writeln(s);end;end. 输入3 10 35 50输出3 5 7输入3 22 68 99 输出 4 8 9输入5 10 30 60 85 100 输出 3 5 7 9 10一个自然数,若它的素因数至少是两重的(相同的素因数至少个数为二个,如:24=2*2*2*3,则称该数为“漂亮数”。

若相邻的两个自然数都是“漂亮数”,就称它们为“孪生漂亮数”,例如8和9就是一对“孪生漂亮数”。

输入X,Y,编程找出[X,Y]之间的所有“孪生漂亮数”。

如输入2 25,则输出8 924 25var i,n,a,t,x,y,s:longint; f :boolean;begin readln(x,y);a:=x;repeata:=a+1;n:=a;f:=false; i:= 2 ;while n >= i do begint:=0;while n mod i = 0 do begint:=t+1;n := n div i;end;if t>=2 then f:=true;i := i+1;end;if f then beginn:=a+1;f:=false; i:= 2 ;while n >= i do begint:=0;while n mod i = 0 do begint:=t+1;n := n div i;end;if t>=2 then f:=true;i := i+1;end; end;if f then begin s:=s+1; writeln(a,’‘,a+1);end;until a=y;readln;end.输入50 120输出63 64 75 76 80 81 98 99 99 100 116 117 120 121 输入354 480 输出360 361 363 364 368 369 。

noip普及组复赛答案

noip普及组复赛答案

noip普及组复赛答案【篇一:noip普及组复赛入门测试(答案+测试数据)】class=txt>新龟兔赛跑比赛即将举行,此次龟兔赛跑比赛的规则与以往有所不同,不再考察兔子和乌龟谁在最短的时间内跑完规定的路程,而是考察谁在规定时间内跑的路程更长,且兔子和乌龟跑步都是匀速的。

由于兔子的坏习惯,它总喜欢把比赛的总时间t小时中的k小时拿来睡觉。

现在给你比赛的总时间t、兔子的睡觉时间k、兔子的速度u、乌龟的速度v,需要你求出该次比赛谁最后获胜。

输入第一行为一个整数x,表示有x组输入数据。

每组数据只有一行,包括4个数t、k、u、v (1 ≤ t≤ 300,0 ≤ k ≤ t,1 ≤ u ≤ 100,1 ≤ v ≤ 100)。

对于每组数据,输出只有一个数,如果兔子获胜则输出-1,如果乌龟获胜则输出1,如果同时到达则输出0。

允许输入一组数后立即输出对应的结果。

样例输入:21 12 16 2 6 3样例输出:1-1varv,u,t,k,n,i:integer;beginreadln(n);for i:=1 to n do beginreadln(t,k,u,v);if v*tu*(t-k) then writeln(1);if v*tu*(t-k) then writeln(-1);if v*t=u*(t-k) then writeln(0);end;end.1、输入:26 2 6 28 6 8 2输出:-12、输入:2300 280 60 20120 0 12 13输出:113、输入:3100 20 50 30100 50 45 25100 80 27 17输出:-1114、输入:3150 77 29 23127 11 22 13139 22 13 7输出:1-1-1二、小球路程(文件名:xqlc.pas )已知小球从100米高度自由下落,落地后反弹起,又落地,又弹起,??。

每次弹起的高度都是上一次高度的一半。

NOIP2018提高组复赛试题day2

NOIP2018提高组复赛试题day2

NOIP2018提⾼组复赛试题day2CCF全国信息学奥林匹克联赛(NOIP2018)复赛提⾼组 day2(请选⼿务必仔细阅读本页内容)注意事项:1、⽂件名(程序名和输⼊输出⽂件名)必须使⽤英⽂⼩写。

2、C/C++中函数main()的返回值类型必须是int,程序正常结束时的返回值必须是0。

3、全国统⼀评测时采⽤的机器配置为:Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz,内存32GB。

上述时限以此配置为准。

4、只提供Linux格式附加样例⽂件。

5、特别提醒:评测在当前最新公布的NOI Linux下进⾏,各语⾔的编译器版本以其为准。

1.旅⾏(travel.cpp/c/pas)【问题描述】⼩Y是⼀个爱好旅⾏的OIer。

她来到X国,打算将各个城市都玩⼀遍。

⼩Y了解到,X国的 n 个城市之间有 m 条双向道路。

每条双向道路连接两个城市。

不存在两条连接同⼀对城市的道路,也不存在⼀条连接⼀个城市和它本⾝的道路。

并且,从任意⼀个城市出发,通过这些道路都可以到达任意⼀个其他城市。

⼩Y只能通过这些道路从⼀个城市前往另⼀个城市。

⼩Y的旅⾏⽅案是这样的:任意选定⼀个城市作为起点,然后从起点开始,每次可以选择⼀条与当前城市相连的道路,⾛向⼀个没有去过的城市,或者沿着第⼀次访问该城市时经过的道路后退到上⼀个城市。

当⼩Y回到起点时,她可以选择结束这次旅⾏或继续旅⾏。

需要注意的是,⼩Y要求在旅⾏⽅案中,每个城市都被访问到。

为了让⾃⼰的旅⾏更有意义,⼩Y决定在每到达⼀个新的城市(包括起点)时,将它的编号记录下来。

她知道这样会形成⼀个长度为 n 的序列。

她希望这个序列的字典序最⼩,你能帮帮她吗?对于两个长度均为 n 的序列A和B,当且仅当存在⼀个正整数x,满⾜以下条件时,我们说序列A的字典序⼩于B。

对于任意正整数1≤iB i相同。

序列A的第x个元素的值⼩于序列B的第x个元素的值。

【输⼊格式】输⼊⽂件名为travel.in。

NOIP复赛模拟试题2

NOIP复赛模拟试题2

NOIP复赛模拟试题2预览说明:预览图片所展示的格式为文档的源格式展示,下载源文件没有水印,内容可编辑和复制2013开明中学NOIP模拟试题2题目1、NBA总冠军(nba.pas/c/cpp)【问题描述】又要考试了,Ljw决定放松一下,就打开电视,看见了篮球赛,他立即想到了每年的NBA 总冠军队伍。

由于复习紧张,他只记起了一部分,记忆的内容是正确的,可能不是按时间顺序排列的,记忆的内容可能有重复。

现在请求学过编程的你帮助Ljw,按时间依次输出总冠军的球队(不能重复)。

(NBA 从1947A.D到2009A.D)【输入】输入文件nba.in的第一行是一个整数n(0<n<50)。

< bdsfid="75" p=""></n<50)。

<>接下来的n行,每行先是城市名(由大到小写字母、空格组成),后是时间(由数字组成)二者之间用空格隔开。

【输出】输出文件nba.out共n行,即排序后的NBA总冠军队伍。

每行先是时间,后是城市名。

【输入输出样例】2.买票(tickets.pas/c/cpp)【问题描述】周末Ztc想去剧场看演出,但他没有票。

这时,救世主Wzj出现了,他慷慨地愿意卖给Ztc 一些票。

Wzj手上共有n张票,但每张票的费用都不一样,贪心的ztc想要得到尽可能多的票,但又想花费最少,慷慨的wzj原意给连续的m张票。

Ztc 希望你能帮助他在花钱范围内取得最大的票数。

【输入】输入文件tickets.in的第一行是2个整数n,,f。

其中(2≤N≤1000000),表示票的数目,(10≤f≤10000),表示ztc身上的钱。

接下来的1行,有n个整数a(1≤a≤30),表示每一张票的票价。

【输出】输出文件tickets.out仅一行整数m,表示Ztc能得连续的最大票数。

【输入输出样例】【限制】50%的数据满足:2≤n≤10000100%的数据满足:2≤n≤10000003.逛街(shop.pas/c/cpp)【问题描述】某天,ZCL 在街上闲逛。

2018 年山东省信息学奥林匹克联赛(NOIP2018)复赛小学组试题(二)

2018 年山东省信息学奥林匹克联赛(NOIP2018)复赛小学组试题(二)

2018年山东省信息学奥林匹克联赛(NOIP2018)复赛小学组试题(二)(2018年11月10日16:30~18:00)(请选手务必仔细阅读本页内容)一.题目概况二.提交源程序文件名注意事项:1.文件名(程序名和输入输出文件名)必须使用英文小写。

2.C/C++中函数 main()的返回值类型必须是 int,程序正常结束时的返回值必须是 0。

三.参考文件输入输出操作以第一题为例:一.统计成绩【问题描述】考试结束之后,每位同学都依据成绩获得相应的等级:优秀:90~100;良好:80~89;及格:60~79;不及格:60以下。

现在,需要统计一下获得每个等级的人数分别是多少。

【输入】输入文件名为count.in。

第一行,一个正整数n,表示总人数。

第二行,n个由空格隔开的整数,表示每个同学的成绩(0~100)。

【输出】输出文件名为count.out。

共四行,每行一个整数,依次表示获得优秀、良好、及格、不及格等级的人数。

【输入输出样例】二. 11的倍数【问题描述】如判断一个正整数x是不是3的倍数?可以计算x÷3所得的余数,如果余数等于0,那么x是3的倍数。

还可以用下面的方法来判断:把x的个位数字、十位数字、百位数字、……相加,如果所得的和是3的倍数,那么x就是3的倍数。

例如:x = 8511, 8+5+1+1=15,15是3的倍数,那么8511就是3的倍数。

接下来你的任务是,判断x是不是11的倍数。

有一个与判断是不是3的倍数类似的方法供你参考:把x的个位、百位、万位、……上的数字求和,得s1;把x的十位、千位、十万位、……上的数字求和,得s2;如果s1÷11所得的余数 = s2÷11所得的余数,那么x就是11的倍数。

例如:x=3162819s1 = 3+6+8+9 = 26s2 = 1+2+1 = 4因为26÷11余4,4÷11也余4,所以3162819是11的倍数。

NOIP测试二

NOIP测试二

下落(fall)[问题描述]在直角坐标系上,有一个小球开始从坐标(x,y) x>0,y>0 处直线下落,每一秒钟一个单位距离,一直到X轴为止。

然而,它可能在下落过程中碰到一些障碍物。

障碍物可以看成是一些平行于X轴的水平线段,如果小球的Y坐标和障碍物的Y坐标相等,而X坐标在障碍物的两个端点X坐标之间(包括两个端点),这样小球就会延时5秒然后从障碍物的右端继续下落。

现给出小球的初始坐标 (x,y) ,以及每个障碍物的数据(三个整数 y x1 x2,分别表示这个障碍物的Y坐标,左、右端点的X坐标),编程求小球要几称钟才能到达X 轴上。

[输入文件:fall.in]第一行有两个整数x y表示小球初始坐标,1<=x,y<=1000。

第二行有一个整数n(n<100),表示有n个障碍物。

下面有n行,每行三个整数(都在1到999之间),分别表示一个障碍物的数据(y x1 x2),其中x1<=x2。

障碍物的高度都不相同。

[输出文件:fall.out]只一个整数,小球下落到X轴的秒数。

[样例:]变音量(song)[问题描述]你将要在元旦演奏一场吉他专场。

但你不希望声音平淡,所以你希望每个曲之间都有变化。

现在你已经确定了每个曲可以与上一个曲之间的音量的变化量,即每首曲开始,你可以对音量选择增加或减少一个指定的变化值。

当然音量不可能为负数,也不能太高,因此必需保证每首曲音量在0和maxLevel之间(包含)。

你的任务是,根据已有的开始音量beginLevel 和每首曲之间的变化量,求出最后一首曲的最大可能音量。

如果没有方案,输出 -1。

[输入文件:song.in]文件第一行有三个整数,n, beginLevel, maxLevel,分别表示曲目数,开始量,最大限制音量。

下面有n-1行整数,第i行整数表示第i首曲与第i+1首曲之间的变化量。

[输入文件:song.in]文件只一行一个数,答案。

NOIP2003普及组(复赛)

NOIP2003普及组(复赛)

NOIP2003普及组复赛试题题一、乒乓球(Table.pas)【问题背景】国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及。

其中11分制改革引起了很大的争议,有一部分球员因为无法适应新规则只能选择退役。

华华就是其中一位,他退役之后走上了乒乓球研究工作,意图弄明白11分制和21分制对选手的不同影响。

在开展他的研究之前,他首先需要对他多年比赛的统计数据进行一些分析,所以需要你的帮忙。

【问题描述】华华通过以下方式进行分析,首先将比赛每个球的胜负列成一张表,然后分别计算在11分制和21分制下,双方的比赛结果(截至记录末尾)。

比如现在有这么一份记录,(其中W表示华华获得一分,L表示华华对手获得一分):WWWWWWWWWWWWWWWWWWWWWWLW在11分制下,此时比赛的结果是华华第一局11比0获胜,第二局11比0获胜,正在进行第三局,当前比分1比1。

而在21分制下,此时比赛结果是华华第一局21比0获胜,正在进行第二局,比分2比1。

如果一局比赛刚开始,则此时比分为0比0。

你的程序就是要对于一系列比赛信息的输入(WL形式),输出正确的结果。

【输入格式】每个输入文件包含若干行字符串(每行至多20个字母),字符串有大写的W、L和E组成。

其中E表示比赛信息结束,程序应该忽略E之后的所有内容。

【输出格式】输出由两部分组成,每部分有若干行,每一行对应一局比赛的比分(按比赛信息输入顺序)。

其中第一部分是11分制下的结果,第二部分是21分制下的结果,两部分之间由一个空行分隔。

【输入样例】WWWWWWWWWWWWWWWWWWWWWWLWE【输出样例】11:011:01:121:02:1题二、数字游戏(Game.pas)【问题描述】丁丁最近沉迷于一个数字游戏之中。

这个游戏看似简单,但丁丁在研究了许多天之后却发觉原来在简单的规则下想要赢得这个游戏并不那么容易。

游戏是这样的,在你面前有一圈整数(一共n个),你要按顺序将其分为m个部分,各部分内的数字相加,相加所得的m个结果对10取模后再相乘,最终得到一个数k。

2017 年山东省信息学奥林匹克联赛(NOIP2017)复赛小学组试题(二)

2017 年山东省信息学奥林匹克联赛(NOIP2017)复赛小学组试题(二)

2017年山东省信息学奥林匹克联赛(NOIP2017)复赛小学组试题(二)(2017年11月11日16:30~18:00)(请选手务必仔细阅读本页内容)一.题目概况二.提交源程序文件名注意事项:1.文件名(程序名和输入输出文件名)必须使用英文小写。

2.C/C++中函数 main()的返回值类型必须是 int,程序正常结束时的返回值必须是 0。

三.参考文件输入输出操作以第一题为例:一. 6174问题【问题描述】假设你有一个各位数字不完全相同的四位数,把所有的数字从大到小排序后得到a,从小到大排序后得到b,然后用a-b替换原来这个数,并且继续操作。

例如,从1234出发,依次可以得到4321-1234=3087、8730-378=8352、8532-2358=6174、7641-1467=6174,又回到了它自己!现在请你写一个程序来判断一个四位数经过多少次这样的操作能出现循环。

比如输入1234执行顺序是1234->3087->8352->6174->6174,输出结果是4。

【输入】输入文件名为kaprekar.in。

输入文件第一行是一个正整数n,表示有n组测试数据,接下来的n行,每行一个各位数字不完全相同的四位数。

【输出】输出文件名为kaprekar.out。

对于每组测试数据输出一行,每行中只有一个整数,表示经过多少次操作才出现循环。

【输入输出样例】对于50%的数据:0<n<=100;对于100%的数据:0<n<=10000。

二. 素数【问题描述】走进世博园某信息通信馆,参观者将获得前所未有的尖端互动体验,一场充满创想和喜悦的信息通信互动体验秀将以全新形式呈现,从观众踏入展馆的第一步起,就将与手持终端密不可分,人类未来梦想的惊喜从参观者的掌上展开。

在等候区的梦想花园中,参观者便开始了他们奇妙的体验之旅,等待中的游客可利用手机等终端参与互动小游戏,与梦想剧场内的虚拟人物Kr. Kong 进行猜数比赛。

noip复赛模拟试题

noip复赛模拟试题

noip复赛模拟试题第一题:最大字符(zdzf.c/cpp)读入一串由大写、小写、数字组成的字符(<256位),输出ASCII 表值最大的那个字符出来。

例如:读入:abeADEf3输出:e第二题:盖房子(gfz.c/cpp)题目正文【问题描述】永恒の灵魂最近得到了面积为n*m的一大块土地(高兴ING^_^),他想在这块土地上建造一所房子,这个房子必须是正方形的。

但是,这块土地并非十全十美,上面有很多不平坦的地方(也可以叫瑕疵)。

这些瑕疵十分恶心,以至于根本不能在上面盖一砖一瓦。

他希望找到一块最大的正方形无瑕疵土地来盖房子。

【输入格式】输入文件第一行为两个整数n,m(1<=n,m<=1000),接下来n 行,每行m个数字,用空格隔开。

0表示该块土地有瑕疵,1表示该块土地完好。

【输出格式】一个整数,最大正方形的边长。

【输入样例】4 40 1 1 11 1 1 00 1 1 01 1 0 12第三题:IQ(iq.c/cpp)题目正文【问题描述】根据世界某权威学会的一项调查,学信息学的学生IQ非常高。

举个最好的例子,如果我们把学信息学的一些学生调去学数学,那么两个竞赛的学生平均IQ都会提升!!现在给出一群数学竞赛全体学生的IQ和信息学竞赛全体学生IQ,问最多能把几个学信息学的学生调去学数学,而两个竞赛的学生平均IQ都有提升呢?每次只调一个学生,而且每次调配,两个竞赛的学生平均IQ都要提升。

【输入格式】输入数据的第一行一个正整数N,代表数学竞赛班学生的数目。

N <= 100接下来一行,有N个正整数,代表每个数学学生的IQ(1 到 200 之间)。

然后一个整数M,代表信息学竞赛班学生数目 M <= 100接下来一行,有M一个正整数,代表每个信息学竞赛班学生的IQ (1 到 200 之间)输入数据保证信息学学生平均IQ高于数学学生。

输出格式:输出只有一行,一个正整数,代表能从信息学调去学数学的学生的个数。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2013开明中学NOIP模拟试题2
题目
1、NBA总冠军(nba.pas/c/cpp)
【问题描述】
又要考试了,Ljw决定放松一下,就打开电视,看见了篮球赛,他立即想到了每年的NBA 总冠军队伍。

由于复习紧张,他只记起了一部分,记忆的内容是正确的,可能不是按时间顺序排列的,记忆的内容可能有重复。

现在请求学过编程的你帮助Ljw,按时间依次输出总冠军的球队(不能重复)。

(NBA 从1947A.D到2009A.D)
【输入】
输入文件nba.in的第一行是一个整数n(0<n<50)。

接下来的n行,每行先是城市名(由大到小写字母、空格组成),后是时间(由数字组成)二者之间用空格隔开。

【输出】
输出文件nba.out共n行,即排序后的NBA总冠军队伍。

每行先是时间,后是城市名。

【输入输出样例】
2.买票(tickets.pas/c/cpp)
【问题描述】
周末Ztc想去剧场看演出,但他没有票。

这时,救世主Wzj出现了,他慷慨地愿意卖给Ztc 一些票。

Wzj手上共有n张票,但每张票的费用都不一样,贪心的ztc想要得到尽可能多的票,但又想花费最少,慷慨的wzj原意给连续的m张票。

Ztc 希望你能帮助他在花钱范围内取得最大的票数。

【输入】
输入文件tickets.in的第一行是2个整数n,,f。

其中(2≤N≤1000000),表示票的数目,(10≤f≤10000),表示ztc身上的钱。

接下来的1行,有n个整数a(1≤a≤30),表示每一张票的票价。

【输出】
输出文件tickets.out仅一行整数m,表示Ztc能得连续的最大票数。

【输入输出样例】
【限制】
50%的数据满足:2≤n≤10000
100%的数据满足:2≤n≤1000000
3.逛街(shop.pas/c/cpp)
【问题描述】
某天,ZCL 在街上闲逛。

他在超市里看到促销广告:商品大降价。

于是他很高兴地拿着篮子购物去了。

已知商场内有n 种商品。

每种商品的重量为w 千克,价格为v ,价值为t 。

此种商品有h 件。

注意:此商场有一个奇怪的规定。

每种物品要么不买,要么买1件或h 件。

ZCL 带了y 元。

ZCL 最多能扛x 千克的物品。

请帮ZCL 求出他最多能获得的价值。

(不允许抢劫)
【输入】
输入文件shop.in 的第一行有3个用空格隔开的整数n 、x 和y 。

接下来的n 行,每行有4个数据,分别为w,v,t 和h.
【输出】
输出文件shop.out 共一行,表示ZCL 最多能获得的价值。

【输入输出样例】
【限制】
100%的数据满足:0≤n ≤300,0≤x ≤100,0≤y ≤100,0≤h ≤10
4.整理书本(book.pas/c/cpp )
【问题描述】
Ztc 想把他满屋子的书整理一下。

为了应付繁重的学习任务,ztc 已经筋疲力尽了,于是他向你求助,请你帮他计算他最少需要花费多少力气。

书本分成若干堆,呈直线排布。

每一堆的书本都有重量w 和价值v 。

Ztc 的任务是将所有书合成一堆。

因为Ztc 很看重书本的价值,所以他认为合并I,j 两堆的书所需要的力气为w[i]-v[i]+w[j]-v[j].合并后的书堆的重量和价值均为合并前两堆书的重量和价值的总和。

也就是说,合并i ,j 两堆的书后,w=w[i]+w[j],v+[i]+v[j].小智个人不愿意走来走去,所以合并只能在相邻两堆书本间进行。

书本合并前后,位置不变。

如将1,2,3中的1,2进行合并,那么合并结果为3,3,再将3,3合并为6(1,2,3,6指重量)。

【输入】
输入文件book.in 的第一行是一个整数n (2≤n ≤400)。

第2~n+1行每行两个整数w 和v (0<v<w
≤1000)。

【输出】
输出文件book.out 共一行,这一行,这一行只有一个整数f ,表示最小力气。

【输入输出样例解释】
先将前两堆合并,再将合并后的书堆与剩余的一堆合并。

【限制】
30%的数据满足:2≤n≤100 100%的数据满足:2≤n≤400。

相关文档
最新文档