NOIP2021复赛提高组模拟试题
noip普及组复赛模拟试题10答案

【试题描述】选拔考试即将开始,同学们陆续进入考场,哇,考场好大啊。
究竟star应该坐在哪张位置呢?考场门口贴了一张考场座位(m*n)明细表,其中考场里的有些位置是坏的不能坐,考号为1的同学的座位号是第一排第一列,即他的座位是1、1,2号同学的座位是1、2,以此类推,当然,如果某个座位是坏的,那么这个同学就往后延一个座位,后面的同学再依次排下去。
考场座位肯定够所有考生坐。
【输入描述】第1行:3个整数,m,n,k(m,n表示考场的座位是m行n列,k表示star的考号)m,n<=100;第2..m+1行:每行n个数代表考场明细0代表座位是好的,1代表座位是坏的)【输出描述】一行:两个整数代表star应该坐的位置【输入样例】4 4 50 0 0 00 0 1 00 0 0 10 0 0 0【输出样例】2 1【试题来源】常州长训班测试program ex1661;var k,i,j,s,m,n:integer;a:array[1..100,1..100] of 0..1;beginreadln(m,n,k);for i:=1 to m dofor j:=1 to n doread(a[i,j]);s:=0;for i:=1 to m dofor j:=1 to n dobeginif a[i,j]<>1 then inc(s);if s=k then begin writeln(i,' ',j); exit;end;end;end.输入 6 6 70 0 0 0 1 00 0 1 0 0 00 0 0 1 1 00 0 0 0 0 11 0 0 0 0 00 0 1 0 0 1 输出 2 2输入8 6 100 0 0 0 1 00 0 1 0 0 00 0 0 1 1 00 0 0 0 0 11 0 0 0 0 00 0 1 0 0 10 1 0 0 0 01 0 0 0 0 1输出 2 6【题目描述】一个农夫有n(n≤1000)头奶牛,可由于产奶太少,他决定把当天产奶最少的牛杀掉,但他有点舍不得,如果当天不只一头奶牛产奶,至少他便放过它们。
NOIP复赛模拟题一

NOIP复赛模拟题一1、与3和5无关的数(num.cpp)描述一个正整数x,如果它能被x整除,或者它的十进制表示法中某个位数上的数字为x,则称其为与x相关的数.现求所有小于等于n(n<300)的与x无关的正整数的平方和.<300)的与x无关的正整数的平方和.</300)的与X无关的正整数的平方和.输入输入为一行,正整数n,(n<300)输出输出小于等于n的与3和5无关的正整数的平方和样例输入8(8^2+7^2+4^2+2^2+1^2)样例输出1342、小白鼠再排队(mouse.cpp)描述N只小白鼠(1 < N < 100),每只鼠头上戴着一顶有颜色的帽子。
现在称出每只白鼠的重量,要求按照白鼠重量从小到大的顺序输出它们头上帽子的颜色。
帽子的颜色用“red”,“blue”等字符串来表示。
不同的小白鼠可以戴相同颜色的帽子。
白鼠的重量用整数表示。
输入输入第一行为一个整数N,表示小白鼠的数目。
下面有N行,每行是一只白鼠的信息。
第一个为正整数,表示白鼠的重量,;第二个为字符串,表示白鼠的帽子颜色,字符串长度不超过10个字符。
注意:白鼠的重量各不相同。
输出按照白鼠的重量从小到大的顺序输出白鼠的帽子颜色。
样例输入330 red50 blue40 green样例输出redgreenblue3、滑雪(skate.cpp)描述Michael喜欢滑雪百这并不奇怪,因为滑雪的确很刺激。
可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。
Michael想知道载一个区域中最长的滑坡。
区域由一个二维数组给出。
数组的每个数字代表点的高度。
下面是一个例子1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小。
在上面的例子中,一条可滑行的滑坡为24-17-16-1。
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提高组复赛题解

样例 输入: 33 039 285 570 输出: 34 数据规模: 30%的数据满足:1<=m,n<=10 100%的数据满足:1<=m,n<=50
思路: 首先想到搜索,但是对于只考虑一条路线来说, 每一步有两种状态 一共要走m+n步,搜索整棵树的 时间复杂度为O(2^(m+n)),如果两条路线都考虑的 话,时间复杂度为O(4^(m+n)),即使是30%的数据, 即m+n=20,4^20≈10^12,这样的数据规模也还是太 大了。
4维动态规划 本题可以使用动态规划法解决。 设f[i,j,k,l]为第一条线走到(I,j),第二条线走到 (k,l)时的最优值(方便起见,两条线都看作从左上角 开始,右下角结束)。 动态转移方程: f[i-1,j,k-1,l] (i>1) f[i,j,k,l]=min f[i-1,j,k,l-1] (i>1) +s[i,j]+s[k,l] f[i,j-1,k-1,l] (j>1)且(k>i+1) f[I,j-1,k,j-1] (j>1) 同时,由于两条线不能交叉,有k>i。
输入格式: 输入文件matches.in共一行,有一个整数n(n<=24)。 * 输出格式: 输出文件matches.out共一行,表示能拼成的不同等 式的数目。
样例1 输入:
14 输出: 2 解释: 2个等式为0+1=1和1+0=1。
样例2 输入: 18 输出: 9 解释: 9个等式为: 0+4=4、0+11=11、1+10=11、2+2=4、 2+7=9、4+0=4、7+2=9、10+1=11、11+0=11
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题目描述一位出租车司机向你抱怨:城市发展太快,公路越来越多,他已经疲于计算行驶路线,于是求助你开发一个自动导航的工具。
NOIP2021年提高组(Pascal语言)初赛试题及答案

NOIP2021年提高组(Pascal语言)初赛试题及答案一、单项选择题题目:CPU(A.d)的以下组件不在主板中e.算术逻辑单元(alu)2.在关系数据库中,存储在数据库中的数据的逻辑结构主要是(E)。
A.二叉树B.多叉树C.哈希表D.C+树E.二维表3.在下列各项中,只有(d)不是计算机的存储容量常用单位a.byteb.kbc.mbd.ube.tb4.ASCII码是指(b)A.二进制十进制转换码b.美国信息交换标准码C.二进制数字码d.计算机可处理字符的唯一编码e.常用字符的二进制编码5.在Pascal语言中,表达式(23or2xor5)的值是(a)a.18b 1c。
23d。
32e。
246.在pascal语言中,判断整数a等于0或b等于0或c等于0的正确的条件表达式是(b)a、不((a<>0)或(b<>0)或(c<>0))b.不((a<>0)和(b<>0)和(c<>0))c.不((a=0)和(b=0)和(c=0))d.(a=0)and(b=0)and(c=0)e、不是((a=0)或(b=0)或(c=0))7.地面上有标号为a、b、c的3根细柱,在a柱上方有10个直径相同中间有孔的圆盘,从上到下次编号为1,2,3,??,将a柱上的部分盘子经过b柱移入c柱,也可以在b柱上暂存。
如果b柱上的操作记录为:“进,进,出,进,进,出,出,进,进,出,进,出,出”。
那么,在c柱上,从下到上的盘子的编号为(d).a.243657b.241257c.243176d.243675e.2143758.十进制数17.5625对应的八进制数是(b)a.21.5625b 21.44c。
21.73d。
二十一点七三一e.前4个答案都不对9.?? 在下面的描述中,不一定是Euler's is:Da图G中没有奇数度的顶点b.包括欧拉环游的图(欧拉环游是指通过图中每边恰好一次的闭路径)c.包括欧拉闭迹的图(欧拉迹是指通过途中每边恰好一次的路径)d.存在一条回路,通过每个顶点恰好一次10.??, 关于死循环,只有(a)是正确的a.不存在一种算法,对任何一个程序及相应输入数据,都可以判断是否会出现死循环,因而,任何编译系统都不作死循环检查.b.有些编译系统可以检测出死循环.c、死循环是一个语法错误。
【精选资料】NOIP提高组复赛试题与简解转载

Day1铺地毯【问题描述】为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。
一共有n 张地毯,编号从1 到n。
现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。
地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号。
注意:在矩形地毯边界和四个顶点上的点也算被地毯覆盖。
【输入】输入文件名为 carpet.in。
输入共 n+2 行。
第一行,一个整数 n,表示总共有n 张地毯。
接下来的 n 行中,第i+1 行表示编号i 的地毯的信息,包含四个正整数a,b,g,k,每两个整数之间用一个空格隔开,分别表示铺设地毯的左下角的坐标(a,b)以及地毯在x轴和y 轴方向的长度。
第 n+2 行包含两个正整数x 和y,表示所求的地面的点的坐标(x,y)。
【输出】输出文件名为 carpet.out。
输出共 1 行,一个整数,表示所求的地毯的编号;若此处没有被地毯覆盖则输出-1。
【输入输出样例 1】【输入输出样例说明】如下图,1 号地毯用实线表示,2 号地毯用虚线表示,3 号用双实线表示,覆盖点(2,2)的最上面一张地毯是3 号地毯。
【输入输出样例 2】【输入输出样例说明】如上图,1 号地毯用实线表示,2 号地毯用虚线表示,3 号用双实线表示,点(4,5)没有被地毯覆盖,所以输出-1。
【数据范围】对于 30%的数据,有n≤2;对于 50%的数据,0≤a, b, g, k≤100;对于 100%的数据,有0≤n≤10,000,0≤a, b, g, k≤100,000。
【一句话题意】给定n个按顺序覆盖的矩形,求某个点最上方的矩形编号。
【考察知识点】枚举【思路】好吧我承认看到图片的一瞬间想到过二维树状数组和二维线段树。
置答案ans=-1,按顺序枚举所有矩形,如果点在矩形内则更新ans。
注意题中给出的不是对角坐标,实际上是(a,b)与(a+g,b+k)。
noip复赛普及组试题

CCF 全国信息学奥林匹克联赛〔NOIP2021 〕复赛普及组〔请选手务必仔细阅读本页内容〕一.题目大要中文题目名称金币扫雷游戏求和销售员英文题目与子目录名coin mine sum salesman 可执行文件名coin mine sum salesman 输入文件名输出文件名每个测试点时限 1 秒 1 秒 1 秒 1 秒测试点数量10101010每个测试点分值10101010附加样例文件有有有有结果比较方式全文比较〔过滤行末空格及文末回车〕题目种类传统传统传统传统运行内存上限128M128M128M128M 二.提交源程前言件名对于 C++语言对于C语言对于 pascal语言三.编译命令〔不包括任何优化开关〕对于 C++语言g++ -o coin -g++ -o mine -g++ -o sum -g++ -o salesmanlm lm lm-lm 对于C语言gcc -o coin gcc -o mine gcc -o sum gcc -o salesman-lm-lm-lm-lm对于 pascal语言fpc fpc fpc fpc 本卷须知:1、文件名〔程序名和输入输出文件名〕必定使用英文小写。
2、 C/C++中函数 main()的返回值种类必定是int,程序正常结束时的返回值必定是3、全国一致评测时采用的机器配置为:CPU AMD Athlon(tm) II x2 240 processor4G,上述时限以此配置为准。
0 。
,,内存4、只供应 Linux格式附加样例文件。
5、特别提示:评测在当前最新宣告的NOI Linux下进行,各语言的编译器版本以其为准。
1.金币c/pas)国王将金作工,放忠的士。
第一天,士收到一枚金;此后两天〔第二天和第三天〕,每天收到两枚金;此后三天〔第四、五、六天〕,每天收到三枚金;此后四天〔第七、八、九、十天〕,每天收到四枚金⋯⋯;种工放模式会素来延下去:当 N 天每天收到 N 枚金后,士会在此后的 N+1 天里,每天收到 N+1 枚金。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
NOIP2021复赛提高组模拟试题
ccf全国信息学奥林匹克联赛(noip2021)复赛day1
第二轮CCF国家信息学奥林匹克联盟(noip 2022)
提高组day1
(请仔细阅读本页)
一、题目概况中文题目名称英文题目与子目录名可执行文件名输入文件名输出文件名
每个测试点时限测试点数目每个测试点分值附加样例文件结果比较方式题目类型运行内存
上限
二、提交C++语言的源程序文件名,C语言的源程序文件名,Pascal语言的源程序文件名
三、编译命令(不包含优化开关)
对于C++语言对于C语言对于Pascal语言
注意事项:
1.文件名(程序名和输入/输出文件名)必须使用小写英语。
2、c/c++中函数main()的返回值类型必须是int,程序正常结束时的返回值必须是0。
3.国家统一评估使用的机器配置为cpuamdathlon(TM)64x2dualcorecpu5200+、
2.71ghz和2G内存。
以上时限以本配置为准。
4.仅提供Linux格式的其他示例文件。
5、特别提醒:评测在noilinux下进行。
6.为了便于评估,请使用您姓名的拼音作为文件夹名称,并将原始程序直接保存在文
件夹中,无需创建新的子文件夹。
g++-opfpf.cpp-g++-otoytoy.cpplmclmgcc-opfpf.c-lmgcc-
lmfpcpf.pasfpctoy.pasg++-orunningrunning.cpp-lmgcc-
orunningrunning.c-
lmfpcrunning.paspf.cpppf.cpf.pastoy.cpptoy.ctoy.pasrunning.cpprunning.crunning
.pas斐波那契玩具跑步
pftoyrunningpftoyrunningpf.intoy.inrunning.inpf.outtoy.outrunning.out1s1s1s102 0201055是是是全文比较(忽略行末空格和行尾回车)传统传统传统128mb128mb128mb第1页,共5页
CCF国家信息学奥林匹克联盟(noip2022)半决赛第1天
1.斐波那契
(pf.pas/c/cpp)
【问题描述】
他是斐波那契迷。
他非常喜欢这个序列,他想知道很多关于它的事情。
例如,第一个
斐波那契数是什么,前一项的和是什么,如何使用几个斐波那契数的和来表示一个自然数,等等。
他今天想知道的是:斐波那契数的最后一位是什么?
记表示第个斐波那契数,。
【输入】
输入文件名总计为PF。
只输入一个数字。
【输出】
输出文件名为PF Out,只有一行,即
【输入输出样例】pf.in1
[数据描述]
对于3对于
数据是满意的,数据是满意的,
;。
pf.out1数的最后一位。
第2页,共5页
ccf全国信息学奥林匹克联赛(noip2021)复赛day1
2.玩具
(toy.pas/c/cpp)
[问题描述]
一天小d去超市买回来了一个玩具,这个玩具是由n个球和一些支架组成,每一个支
架连接着两个不同的球,通过支架每两个球之间的简单路径有且只有一条,如果某一个支
架的两端的球全被拿走,那么这个玩具就会垮掉。
小d无聊的时候开始拿走球,问,他有
多少中拿球方案,使玩具不垮。
【输入】
输入文件名为toy in
第一行一个数n表示球的个数
接下来,有几行,每行有两个数字a和B,表示有一个支架连接球a和球B
【输出】
输出文件名为toy out。
一行一个数ans表示drj拿球的方案数mod109+7(可以一个球也不拿)
[输入/输出示例]toy intoy。
out51412132425
【数据说明】
30%的数据满足n<=20;50%的数据满足n<=1000
100%的数据满足n<=500000;
第3页,共5页
ccf全国信息学奥林匹克联赛(noip2021)复赛day1
3.跑步
(running.cpp/c/pas)
[问题描述]
某校开展了同学们喜闻乐见的阳光长跑活动。
为了能“为祖国健康工作五十年”,同
学们纷纷离开寝室,离开教室,离开实验室,到操场参加3000米长跑运动。
一时间操场
上熙熙攘攘,摩肩接踵,盛况空前。
为了让同学们更好地监督自己,学校推行了刷卡机制。
学校有n个地点,用1到n的整数表示。
每个地点都配备了几台刷卡机,两个地点之
间有一条跑道。
进行了一次长跑。
问一个同学从a出发,最后到达b最多可以刷卡多少次。
具体的要
求如下:
当同学到达一个地方时,他可以在这里的每台刷卡机上刷卡。
然而,每台刷卡机只能
刷卡一次,即使你多次到达同一地点,也不能刷卡多次。
为了安全起见,每条跑道都需要设定一个方向(每次询问相互独立),这条跑道只能按照这个方向单向通行。
最多的刷卡次数即为在任意设定跑道方向,按照任意路径从a地点到b地点能刷卡的最多次数。
[输入格式]
输入文件名为running.in
第一行中的两个整数n、m和Q表示在n个位置和m个跑道上有Q组查询。
第二行中的N数分别代表N个位置的刷卡机数量
然后m行每行两个数ab表示ab两地点之间有一条跑道然后q行每行两个数ab表示询问从a到b的最多刷卡次数
[输出格式]
输出文件名为running.out
Q行,每行一个数字表示刷卡的最大次数
【输入输出样例】running.in3331231213231213running.out666第4页,共5页
CCF国家信息学奥林匹克联盟(noip2022)半决赛第1天
23
[示例说明]
将图的边按如图所示的方法就可以走过所有的点【数据说明】
30%的数据满足n,m,Q<=13
另20%的数据满足m=n-1,n,m,q<=10^5100%的数据满足n,q<=10^5m<=5*10^5100%的数据满足图联通
第5页,共5页。