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

合集下载

NOIP2014普级组复赛试题

NOIP2014普级组复赛试题

CCF全国信息学奥林匹克联赛(NOIP2014)复赛普及组(请选手务必仔细阅读本页内容)一.题目概况中文题目名称珠心算测试比例简化螺旋矩阵子矩阵英文题目与子目录名count ratio matrix submatrix 可执行文件名count ratio matrix submatrix 输入文件名count.in ratio.in matrix.in submatrix.in 输出文件名count.out ratio.out matrix.out submatrix.out 每个测试点时限1秒1秒1秒1秒测试点数目10 10 10 20 每个测试点分值10 10 10 5 附加样例文件有有有有结果比较方式全文比较(过滤行末空格及文末回车)题目类型传统传统传统传统运行内存上限128M 128M 128M 128M二.提交源程序文件名对于C++语言count.cpp ratio.cpp matrix.cpp submatrix.cpp 对于C语言count.c ratio.c matrix.c submatrix.c 对于pascal语言count.pas ratio.pas matrix.pas submatrix.pas三.编译命令(不包含任何优化开关)对于C++语言g++ -o countcount.cpp -lm g++ -o ratioratio.cpp -lmg++ -o matrixmatrix.cpp -lmg++ -o submatrixsubmatrix.cpp -lm对于C语言gcc -o countcount.c -lm gcc -o ratio ratio.c-lmgcc -o matrixmatrix.c -lmgcc -o submatrixsubmatrix.c -lm对于pascal语言fpc count.pas fpc ratio.pas fpc matrix.pas fpc submatrix.pas注意事项:1、文件名(程序名和输入输出文件名)必须使用英文小写。

noip普及组复赛入门训练11(答案)

noip普及组复赛入门训练11(答案)

PASCAL复习111.文本图形(文件名WBTX.PAS)【问题描述】已知两个数的最大公约数是x,最小公倍数是y.共有多少对数满足?输入x,y,输出每一对数和满足的总对数.输入:6 36输出:6 3612182(共2组)输入:12 64输出:0(没有符合条件的数)Var x,y,a,b,c,t,i1,i2:longint;Beginreadln(x,y); t:=0;for i1:=x to y-1 dofor i2:=i1+1 to y do begina:=i1; b:=i2;repeatc:=a mod b;a:=b;b:=c;until b=0;b:=i1*i2 div a;if (a=x) and (b=y)then begin t:=t+1; writeln(i1:8,i2:8); end;end;writeln(t);readln;End.2. NICOMACHUS定理(文件名NCMC.PAS)【问题描述】NICOMACHUS定理:任何一个整数的立方都可以表示成一串奇数的和,例如:13=1=1,23=3+5=8,33=7+9+11=27,43=13+15+17+19=64,输入任一整数n,输出这一整数的立方与一串奇数的和。

输入输出样例:输入:n=4输出:64=13+15+17+19Var n,m,i,j,s,k,t:longint;Beginwrite(‘n=‘);readln(n);m:=n*n*n;i:=-1;repeati:=i+2;j:=i; s:=0; t:=0;repeats:=s+j; t:=t+1;j:=j+2;until t=n;until (s=m);write(m,’=‘,i);for k:=i+2 to j-2 doif k mod 2=1 then write(‘+’,k);writeln;readln;End.或i:=n*(n-1)+1;Write(n*n*n,’=‘,i);For j:=2 to n do begini:=i+2;write(‘+’,i);end;3.费马命题(文件名FMMT.PAS)费马命题是:一个素数,若被4除余1,则它能表示成两个数的平方和。

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

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

心系南方灾区【问题描述】现在我国南方正在承受百年不遇的大雪、冻雨灾害。

北京市已经开始了面向全体市民的捐款捐物活动,并组织运力,以最快速度将这些救灾物资运送到灾区人民的手中。

已知救灾物资中有m件大衣(10000<=m<=2000000 ),一辆卡车一次最多可以运走n件大衣(2000<=n<=10000)。

请你编写程序计算一下,要将所有的大衣运走,北京市政府最少需要调动多少辆卡车参与运送。

【输入文件】文件名:HELP.IN文件中只有两个整数m、n 。

【输出文件】文件名:HELP.OUT文件中只有一个整数,表示需要的卡车数量。

【样例输入】10000 2000【样例输出】5Delphi语言: Codee#10155program help;vara,b:longint;beginassign(input,'help.in');assign(output,'help.out');reset(input);rewrite(output);readln(a,b);if a mod b=0 then write(a div b) else write(a div b+1);close(input);close(output);end.给出某两个整数a和b(a<=b)的最大公约数GCD和最小公倍数LCM,请找出满足的a和b,使得b-a的值最小。

Input输入数据只有一行,包括两个整数GCD和LCM。

输入保证至少存在一组解。

Output输出包含一个整数,为最小的b-a的值。

Sample Input Copy6 36Sample Output Copy6HINT对于100%的数据,1<=a<=b<=10^9。

解法:设原数为x,y则有x*y/gcd=lcm,且x/gcd与y/gcd互质,(x/gcd*y/gcd)*gcd=lcm,故我们只要求出两个互质数相乘=lcm/gcd即可代码:vara,b,i:longint;function gcd(a,b:longint):longint;beginif a mod b=0 then exit(b) else exit(gcd(b, a mod b));end;beginreadln(a,b);b:=b div a;for i:=trunc(sqrt(b)) downto 1 do if (b mod i=0) and (gcd(i,b div i)=1)then break;writeln(a*(abs(i-(b div i))));end.集训队有一个大杯子,大家训练累的时候都用这个东西来喝咖啡,喝咖啡就需要热水,喝热水就需要烧水,烧水烧多少是一个问题,现在我们知道烧了多少热水,你能告诉我们把这些水倒在杯子里面会有多高吗?杯子是这样的:我们知道杯子上面的圆的半径,还有下面圆的半径,还有杯子的高。

noip2014普及组初赛试题+答案

noip2014普及组初赛试题+答案

NOIP 2014 第二十届全国青少年信息学奥林匹克联赛初赛普及组C++语言试题竞赛时间:2014 年10月11日14:30〜16:30选手注意:1、 试题纸共有 5页,答题纸共有 2页,满分100分。

请在答题纸上作答,写在试题 纸上的一律无效。

2、 不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。

A.负责外设与主机之间的信息交换B.负责诊断机器的故障C.控制和管理计算机系统的各种硬件和软件资源的使用D.将没有程序编译成目标程序6. CPU 、存储器、 A.接口 B.总线 C.控制线7•断电后会丢失数据的存储器是 A.RAM B.ROM C.硬盘8•以下哪一种是属于电子邮件收发的协议12•下列几个32位IP 地址中,书写错误的是 ( )。

A.162.105.135.27B.192.168.0.1C.256.256.129.1 13•要求以下程序的功能是计算: s=1+1/2+1/3+...+1/10 #in elude <iostream>一、单项选择题(共20题,每题1.51.以下哪个是面向对象的高级语言(A.汇编语言B.C++C.Fortran2. 1TB 代表的字节数是()。

A.2的10次方 B.2的20次方分,共计 )。

D.Basic30分;每题有且仅有一个正确选项 )C.2 的 30 的和是( A.00101000B.001010100C.010001014•以下哪一种设备属于输出设备( )。

A.扫描仪B.键盘C.鼠标D.打印机5•下列对操作系统功能的描述最为完整的是 ( 次方 D.2的40次方)。

D.00111001I/O 设备是通过()连接起来的。

D.系统文件 (A.SMT PB.UD PC.P2PD.FT P9•下列选项中不属于图像格式的是(A.JPEG 格式B.TXT 格式C.GIF 10.链表不具有的特点是( A.不必事物估计存储空间 C.插入删除不需要移动元素11•下列各无符号十进制整数中,A.296B.133C.256 )。

NOIP历年复赛提高组试题(2006-2014)

NOIP历年复赛提高组试题(2006-2014)

第十二届全国信息学奥林匹克分区联赛(NOIP2006)复赛试题(提高组竞赛用时:3小时)关于竞赛中不同语言使用限制的说明一.关于使用Pascal语言与编译结果的说明1.对于Pascal语言的程序,当使用IDE和fpc编译结果不一致时,以fpc的编译结果为准。

2.允许使用数学库(uses math子句),以及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 >1.能量项链(energy.pas/c/cpp)【问题描述】在Mars星球上,每个Mars人都随身佩带着一串能量项链。

在项链上有N颗能量珠。

能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数。

并且,对于相邻的两颗珠子,前一颗珠子的尾标记一定等于后一颗珠子的头标记。

因为只有这样,通过吸盘(吸盘是Mars人吸收能量的一种器官)的作用,这两颗珠子才能聚合成一颗珠子,同时释放出可以被吸盘吸收的能量。

2014noip复赛模拟练习1

2014noip复赛模拟练习1

1.【问题描述】请统计某个给定范围[L,R]的所有整数中,数字N出现的次数。

【输入格式】共1行,为三个正整数L、R和N,之间用空格隔开。

(1≤L≤R≤10000)。

【输出格式】仅1行,表示数字N出现的次数。

如输入2 22 2 则输出62.用自然数1,2,3,4,5,。

构成连续数1234567891011…9899100101…从键盘输入整数m(20000m),输出第m位数字。

样例输入输出:输入:m=15输出:23. 聪明的囚犯:传说从前有一个残暴的国王,喜欢杀戮百姓。

有一次,他抓到30个百姓并要一一杀掉。

在这30个百姓中间有一个聪明人,他站出来对国王说:“请国王打发慈悲,赦免两个人不死。

”国王问:“赦免哪两个人不死?”那个聪明人回答说:“我们30个人围成一圈,从1开始报数,凡数到5的人就拉出去杀掉,剩下的人继续从1开始报数,循环反复,直到剩下两个人为止,这两个人被赦免。

”国王一听很有意思,就同意了聪明人的建议,叫这30个百姓围成一圈,依依报数,凡数到5的就杀掉。

最后只剩下两个人没有被杀掉,而聪明人就是其中之一。

编写程序,输入N个百姓,由计算机判断一下,聪明人要站在什么位置,才能躲过这场屠杀。

如输入N=30则输出14 34. 算盘,这个古老的计算工具是我国古代的重要发明。

在算盘上,一个档相当于整数的一位,高位在左边,所以,从右向左数,各档依次表示个位、十位、百位、……,在每个档上,靠框的珠不参与计数,靠梁的珠参与计数,且梁上面的珠每个表示5,梁下面的珠每个表示1,并规定0用本档上所有的珠都靠框来表示。

根据这个规则,上面的算盘就表示拨入了一个整数123456789(其它的档,认为是0)。

算盘的初始状态是所有的珠都靠框,即所有档上都是0。

请编写程序计算一下,从初始状态拨入一个整数n(位数≤17),一共需要拨动多少个珠?样例输入:8102 样例输出:75. 现在有一个长度为N(1<=N<=1000)的并且每个数只可能是1或2或3的数列,求至少要交换多少次,才能得到一个升序的序列。

2014noip复赛模拟练习10

2014noip复赛模拟练习10

1. 喜羊羊运动会——撑杆跳高:运动会马上就要开始了,撑杆跳高场地上,羊村的N(3 <= N <= 100 )个村民正排成一队有秩序地练习。

“好高啊,我都不知道自己能不能跳过去”,懒羊羊慢条斯理地说道。

“这么高,不知道最少要几只羊叠在一起才会够得着”,沸羊羊向来比较喜欢思考数学问题,这样说道。

试编一程序,计算出最少要几只羊叠在一起(一头羊踩在另一头羊的背上)才能够得着横杆(所谓够得着,指羊的身高总和不小于横竿的高度B)。

如果N头羊叠在一起,都够不着横竿,则输出“Impossible”【输入描述】第一行:两个整数N(3 <= N <= 100 )和B,表示队伍中羊的总数以及横竿的高度。

第二行:空格隔开的N个整数,表示每只羊的身高Hi (1 <= Hi <= 10000 )。

【输出描述】一行,一个整数,表示最少要几头羊才能够到横竿。

如果N只羊叠在一起都够不着则输出“Impossible”。

【输入样例】样例1:5 23↙6 8 1 3 9 样例2:6 16↙1 2 3 1 3 5 【输出样例】样例1:3 样例2:Impossible2. 在一棵树上有n只鸟。

由于感受到了自然的力量,它们希望学习自然数。

因此它们站在树上,演唱所有自然数。

自然数是从1开始的,按照递增的顺序演唱。

当演唱到K时,会有K只鸟受不了而飞走。

如果演唱到某个自然数而鸟数不足时,它们会从1开始重新演唱。

假设每秒钟它们都会演唱一个自然数,请你求一求,所有鸟都飞走需要多长时间。

如输入 3 输出2 输入 4 输出3【样例说明】第一秒,一只鸟飞走。

第二秒,两只鸟飞走。

第三秒时,需要三只鸟,但只剩一只鸟,因此它会从1开始演唱,并且飞走。

3. 彩票摇奖(LOTTERY.PAS) 为了丰富人民群众的生活、支持某些社会公益事业,北塔市设置了一项彩票。

该彩票的规则是:(1) 每张彩票上印有7 个各不相同的号码,且这些号码的取指范围为1~33。

2014noip复赛模拟练习12

2014noip复赛模拟练习12

1. 心系南方灾区:【问题描述】现在我国南方正在承受百年不遇的大雪、冻雨灾害。

北京市已经开始了面向全体市民的捐款捐物活动,并组织运力,以最快速度将这些救灾物资运送到灾区人民的手中。

已知救灾物资中有m件大衣(10000<=m<=2000000 ),一辆卡车一次最多可以运走n件大衣(2000<=n<=10000)。

请你编写程序计算一下,要将所有的大衣运走,北京市政府最少需要调动多少辆卡车参与运送。

【输入文件】文件名:HELP.IN 文件中只有两个整数m、n 。

【输出文件】文件名:HELP.OUT 文件中只有一个整数,表示需要的卡车数量。

【样例输入】10000 2000【样例输出】52. 给出某两个整数a和b(a<=b)的最大公约数GCD和最小公倍数LCM,请找出满足的a和b,使得b-a的值最小。

Input:输入数据只有一行,包括两个整数GCD和LCM。

输入保证至少存在一组解。

Output:输出包含一个整数,为最小的b-a的值。

Input:6 36Sample :6对于100%的数据,1<=a<=b<=10^9。

3. 集训队有一个大杯子,大家训练累的时候都用这个东西来喝咖啡,喝咖啡就需要热水,喝热水就需要烧水,烧水烧多少是一个问题,现在我们知道烧了多少热水,你能告诉我们把这些水倒在杯子里面会有多高吗?杯子是这样的:我们知道杯子上面的圆的半径,还有下面圆的半径,还有杯子的高。

Input:输入数据有多组测试数据(用not eof),对于每组数据,有四个小数(r, R, h, v)。

分别表示下面圆的半径,上面圆的半径,杯子的高,还有热水的体积。

你可以认为上面的圆要大于等于下面圆的半径。

数据范围:1. 1 <= r, R, H <= 100; 0 <= V <= 1000,000,000.2. r <= R.3.r, R, H, V 被一个空格隔开.4.相邻数据之间没有空格.Output:对于每一个数据在一行中输出一个小数,保留六位小数,表示水的高度。

2014noip普及组复赛测试(答案)

2014noip普及组复赛测试(答案)

老师给笑笑布置了一份作业,笑笑不知如何解决。

老师给了一串很长的数列,要求从中找出连续的一段来使的总和最大。

【输入文件】:第一行包含一个整数n,表示数列的长度。

(n<=100000)第二行包含n个整数来描述这个数列,每个整数的的绝对值不超过1000。

【文件输出】:文件中只有一个整数,为最大的连续段总和。

【输入样例】:51 -23 1 -4【输出样例】4vars:array[1..10000] of longint;n,ii,t,ans:longint;beginreadln(n);for i:=1 to n doread(s[i]);t:=s[1];ans:=s[1];for i:=2 to n dobeginif t<0 then t:=s[i] else t:=t+s[i];if t>ans then ans:=t;end;writeln(ans);end.输入61 5 4 -2 63 输出17输入1024 -12 9 11 7 20 -8 15 3 18 输出87输入710 8 9 -5 12 6 11 输出51输入205 12 19 20 -7 -6 18 22 19 8 11 33 15 32 17 -30 4 14 24 -13输出230【问题描述】鲁宾逊先生有一只宠物猴,名叫多多。

这天,他们两个正沿着乡间小路散步,突然发现路边的告示牌上贴着一张小小的纸条:“欢迎免费品尝我种的花生!——熊字”。

鲁宾逊先生和多多都很开心,因为花生正是他们的最爱。

在告示牌背后,路边真的有一块花生田,花生植株整齐地排列成矩形网格(如图1)。

有经验的多多一眼就能看出,每棵花生植株下的花生有多少。

为了训练多多的算术,鲁宾逊先生说:“你先找出花生最多的植株,去采摘它的花生;然后再找出剩下的植株里花生最多的,去采摘它的花生;依此类推,不过你一定要在我限定的时间内回到路边。

”我们假定多多在每个单位时间内,可以做下列四件事情中的一件:1)从路边跳到最靠近路边(即第一行)的某棵花生植株;2)从一棵植株跳到前后左右与之相邻的另一棵植株;3)采摘一棵植株下的花生;4)从最靠近路边(即第一行)的某棵花生植株跳回路边。

2014noip复赛模拟练习15

2014noip复赛模拟练习15

1.【试题描述】有一组数(设有N个)。

编一程序交换这组数中任意指定的两段。

【输入描述】一个数N(不超过20个)一行N个数由空格分开两个空格分开的数(表示要交换的其中一段)两个空格分开的数(表示要交换的其中另一段)【输出描述】交换后的一行数(中间用空格隔开)【输入样例】163 6 11 45 23 70 67 34 26 89 90 15 56 50 20 103 513 15【输出样例】 3 6 56 50 20 70 67 34 26 89 90 15 11 45 23 102.1742年6月7日哥德巴赫写信给当时的大数学家欧拉,正式提出了以下的猜想:任何一个大于9的奇数都可以表示成3个质数之和。

质数是指除了1和本身之外没有其他约数的数,如2和11都是质数,而6不是质数,因为6除了约数1和6之外还有约数2和3。

需要特别说明的是1不是质数。

这就是哥德巴赫猜想。

欧拉在回信中说,他相信这个猜想是正确的,但他不能证明。

从此,这道数学难题引起了几乎所有数学家的注意。

哥德巴赫猜想由此成为数学皇冠上一颗可望不可及的“明珠”。

现在请你编一个程序验证哥德巴赫猜想。

【输入描述】仅有一行,包含一个正奇数n,其中n大于9并且小于10000。

【输出描述】仅有一行,输出3个质数,这3个质数之和等于输入的奇数。

相邻两个质数之间用一个空格隔开,最后一个质数后面没有空格。

如果表示方法不唯一,请输出第一个数最小的方案,如果第一个数最小的方案不唯一,请输出第二个数最小的方案。

【输入样例】2009【输出样例】 3 3 20033.2008北京奥运会之前,很多人想成为四川汶川的一名火炬手,经过层层选拔,终于到了最后一关,这一关是一道很难的题:任意给定一个正整数N,求一个最小的正整数M,使得N×M的十进制表示形式里只有1和0。

【输入格式】只有一行,输入一个整数N。

(m,N≤100000)【输出格式】输出一行,如果有解,输出最小的M,否则输出”No Solution”【样例输入】12【样例输出】9254. 任何一个整数N都能表示成另外两个整数a和b的平方差吗?如果能,那么这个数N就叫做Couple number。

2014NOIP测试题历年试题

2014NOIP测试题历年试题

NOIP2013一、单项选择题(共15 题,每题1.5 分,共计22.5 分;每题有且仅有一个正确选项)1.一个32 位整型变量占用()个字节。

A. 4B. 8C. 32D. 1282.二进制数11.01 在十进制下是()。

A. 3.25B. 4.125C. 6.25D. 11.1253.下面的故事与()算法有着异曲同工之妙。

从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:‚从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:‘从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事....’‛A. 枚举B. 递归C. 贪心D. 分治4.1948 年,()将热力学中的熵引入信息通信领域,标志着信息论研究的开端。

A. 冯·诺伊曼(John von Neumann)B. 图灵(Alan Turing)C. 欧拉(Leonhard Euler)D. 克劳德·香农(ClaudeShannon)5.已知一棵二叉树有2013 个节点,则其中至多有()个节点有2 个子节点。

A. 1006B. 1007C. 1023D. 10246.在一个无向图中,如果任意两点之间都存在路径相连,则称其为连通图。

右图是一个有5 个顶点、8 条边的连通图。

若要使它不再是连通图,至少要删去其中的()条边。

A. 2B. 3C. 4D. 57.斐波那契数列的定义如下:F1 = 1, F2 = 1, Fn = Fn –1 + Fn –2 (n ≥3)。

如果用下面的函数计算斐波那契数列的第n 项,则其时间复杂度为()。

int F(int n){if (n <= 2)return 1;elsereturn F(n - 1) + F(n - 2);}A. O(1)B. O(n)C. O(n2)D. O(Fn)8.二叉查找树具有如下性质:每个节点的值都大于其左子树上所有节点的值、小于其右子树上所有节点的值。

那么,二叉查找树的()是一个有序序列。

NOIP2014普及组复赛解题报告

NOIP2014普及组复赛解题报告

Prolem 1 珠心算测试(count)这道题其实很简单,意思就是说给你一些数a1,a2,a3,a4...a n,然后让你回答有多少个A+B=C(A ≠ B ≠ C)满足(回答C的数量,而不是等式的数量)方法一那么有一种很明显的做法就是三层循环枚举C、A、B,注意:C是在最外层,若找到了一个A和一个B,满足上述等式,则C是一个符合要求的解,这时ans++,并且退出当前枚举,枚举下一个C,这种算法的时间复杂度是O(N3)而我当时没想到这个算法,因为有更好用而且简单更不容易出错的解法,方法二两重循环,分别枚举i=1...n,j=i+1...n,如果ai+aj这个数在集合中存在,那么you[a i+a j]←true,然后再从a1到a n做一次扫描,只要you[a i],ans++这个算法的好处在于它很好写,不用退出什么的,也不用注意循环的顺序,而且时间复杂度是O(N2)代码(方法2):在此征求一下大神的意见,如有更快的做法,敬请奉上小结:这道题很简单,但很多人没有做对的原因就是没有好好理解题意,但是根本原因其实还在于心态太骄傲了,认为是第一题就可以轻视,这样是不好的,水题我们更要做好啊,你想想同样是100分,这100分多么好拿,所以是水题、越该放平心态,细心地做。

当时我正是由于重视(2013年第一题爆零的教训),用了整整15分钟才做好,最后得了100分Problem 2 比例简化这道题目是说,给定A和B,求解一组A’和B’,满足以下条件:A′B′−AB≥00<A′,B′≤LA′和B′互质首先,想一个总体的框架:我们发现L≤100,因此可以枚举A′和B′,然后判断是否A’B’满足上述条件,并且打擂台求比值最小的一组就行了,打擂台的复杂度是O(1)。

设验证的复杂度为O(k),则总的算法的复杂度为O(kL2),其中L2是104,所以我们只要保证k的大小在100以内就一定没有问题。

现在要求两个分数的差值,该怎么办呢?高精除!很多人一下就想到了,当时我在赛场上就是这么想的,但是又仔细一考虑。

noip2014普及组初赛试题+答案

noip2014普及组初赛试题+答案

NOIP2014第二十届全国青少年信息学奥林匹克联赛初赛普及组C++语言试题竞赛时间:2014年10月11日14:30~16:30选手注意:1、试题纸共有5 页,答题纸共有2 页,满分100 分。

请在答题纸上作答,写在试题纸上的一律无效。

2、不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。

一、单项选择题(共20题,每题1.5分,共计30分;每题有且仅有一个正确选项)⒈以下哪个是面向对象的高级语言( )。

A.汇编语言B.C++C.FortranD.Basic⒉1TB代表的字节数是( )。

A.2的10次方B.2的20次方C.2的30次方D.2的40次方⒊二进制数00100100和00010101的和是( )。

A.00101000B.001010100C.01000101D.00111001⒋以下哪一种设备属于输出设备( )。

A.扫描仪B.键盘C.鼠标D.打印机⒌下列对操作系统功能的描述最为完整的是( )。

A.负责外设与主机之间的信息交换B.负责诊断机器的故障C.控制和管理计算机系统的各种硬件和软件资源的使用D.将没有程序编译成目标程序⒍CPU、存储器、I/O设备是通过( )连接起来的。

A.接口B.总线C.控制线D.系统文件⒎断电后会丢失数据的存储器是( )。

A.RAMB.ROMC.硬盘D.光盘⒏以下哪一种是属于电子邮件收发的协议( )。

A.SMTPB.UDPC.P2PD.FTP⒐下列选项中不属于图像格式的是( )。

A.JPEG格式B.TXT格式C.GIF格式D.PNG格式⒑链表不具有的特点是( )。

A.不必事物估计存储空间B.可随机访问任一元素C.插入删除不需要移动元素D.所需空间与线性表长度成正比⒒下列各无符号十进制整数中,能用八位二进制表示的数中最大的是( )。

A.296B.133C.256D.199⒓下列几个32位IP地址中,书写错误的是( )。

A.162.105.135.27B.192.168.0.1C.256.256.129.1D.10.0.0.1⒔要求以下程序的功能是计算:s=1+1/2+1/3+...+1/10。

noip2014模拟赛

noip2014模拟赛

NOIP2014模拟赛提高组By Aponoia注意:最终测试时,所有编译命令均不打开任何优化开关。

数竞神器【问题描述】作为数学竞赛的一员,Aponoia一直在研究一种能够造福所有数竞人的神器。

这种神器最终将能全自动地解决所有数学问题。

历经数年的潜心钻研之后Aponoia终于研发出了这种神器的一个试用版本。

和众多的软件类似,在正式发布这款神器之前,必须先要经过多轮的内测。

因此,Aponoia首先找到了数竞的老师来试验这一神器。

由于现在数竞正在学习数论,于是老师随口编了一个问题:“给定一个正整数n,以及一个质数p,求n、2n、3n、……、(n-1)*n、n*n关于模p的逆元”。

这时,Aponoia却尴尬的发现他开发的神器居然崩溃了。

无奈之下,Aponoia只能找到信息竞赛大神——你,来帮助他完善神器。

【输入格式】第一行两个正整数n,p,含义见题面。

【输出格式】一共n行,每行一个整数。

第i行的整数表示i*n关于模p的逆元。

【样例输入】5 7【样例输出】35162【数据规模和约定】对于30%的数据,2 ≤ n < p ≤ 3000。

对于60%的数据,2 ≤ n < p ≤ 100000。

对于100%的数据,2 ≤ n < p ≤ 3000000。

数据保证p为质数。

粉刷匠【问题描述】在你的帮助之下,Aponoia很快就完成了神器的开发。

这款神器在面市之后受到了各方好评,Aponoia也借此发了一笔大财。

在得到这笔钱后,Aponoia决定建造一栋别墅来犒劳一下自己。

可是在别墅建造过程中,Aponoia却对派来的粉刷匠很不满意。

在Aponoia看来,派来的粉刷匠简直连涂鸦的水平都不如。

于是,Aponoia决定亲自上阵,自己来刷墙。

然而,当Aponoia真正开始刷墙时,他才发现这真不是件轻松的活。

每当Aponoia将一段围墙刷成一种颜色后,他无法直接从整体上欣赏整面墙:比如当前墙上一共有几种颜色的油漆。

noip2014普及组初赛试题+答案

noip2014普及组初赛试题+答案

NOIP2014第二十届全国青少年信息学奥林匹克联赛初赛普及组C++语言试题竞赛时间:2014年10月11日14:30~16:30选手注意:1、试题纸共有5 页,答题纸共有2 页,满分100 分。

请在答题纸上作答,写在试题纸上的一律无效。

2、不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。

一、单项选择题(共20题,每题1.5分,共计30分;每题有且仅有一个正确选项)⒈以下哪个是面向对象的高级语言( )。

A.汇编语言B.C++C.FortranD.Basic⒉1TB代表的字节数是( )。

A.2的10次方B.2的20次方C.2的30次方D.2的40次方⒊二进制数00100100和00010101的和是( )。

A.00101000B.001010100C.01000101D.00111001⒋以下哪一种设备属于输出设备( )。

A.扫描仪B.键盘C.鼠标D.打印机⒌下列对操作系统功能的描述最为完整的是( )。

A.负责外设与主机之间的信息交换B.负责诊断机器的故障C.控制和管理计算机系统的各种硬件和软件资源的使用D.将没有程序编译成目标程序⒍CPU、存储器、I/O设备是通过( )连接起来的。

A.接口B.总线C.控制线D.系统文件⒎断电后会丢失数据的存储器是( )。

A.RAMB.ROMC.硬盘D.光盘⒏以下哪一种是属于电子邮件收发的协议( )。

A.SMTPB.UDPC.P2PD.FTP⒐下列选项中不属于图像格式的是( )。

A.JPEG格式B.TXT格式C.GIF格式D.PNG格式⒑链表不具有的特点是( )。

A.不必事物估计存储空间B.可随机访问任一元素C.插入删除不需要移动元素D.所需空间与线性表长度成正比⒒下列各无符号十进制整数中,能用八位二进制表示的数中最大的是( )。

A.296B.133C.256D.199⒓下列几个32位IP地址中,书写错误的是( )。

A.162.105.135.27B.192.168.0.1C.256.256.129.1D.10.0.0.1⒔要求以下程序的功能是计算:s=1+1/2+1/3+...+1/10。

NOIP2014普及组复赛试题解答

NOIP2014普及组复赛试题解答

NOIP2014普及组复赛试题解答NOIP2014普及组复赛试题解答1.珠心算测验#includeusing namespace std;int main(){freopen("count.in","r",stdin);freopen("count.out","w",stdout);int n;scanf("%d",&n);int a[n+1],j,k,out=0;bool pd=false;for(int i=1;i<=n;++i)scanf("%d",&a[i]);for(int i=1;i<=n;++i){j=1;do{k=1;do{if((i!=j)&&(j!=k)&&(k!=i)&&(a[i]==a[j]+a[k])) {out++;pd=true;}k++;}while(k<=n&&pd==false);j++;}while(j<=n&&pd==false);pd=false;}printf("%d",out);fclose(stdin);fclose(stdout);return 0;}2.比例简化考虑到输出结果必须是最贴近原比值且互质的一对正整数,如果采用除法再取整,则会导致结果偏差较大。

由于1≤L≤100,可以枚举其所有组合,再在枚举结果中取最贴近的那一对正整数。

可以用二维数组的下标来存储A',B'的值,二维数值元素存储A'/B'与A/B的差值。

①读取A、B、L的值;②考虑极端情况B/A>L,当出现此情况时,直接将赋值A'=1;B'=L,以减少计算时间;③枚举所有A'/B'的值,并存储在二维数组元素s[A'][B']中;④求二维数组的最小值;⑤输出A' B'。

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)。

新学年就要开始了,爸爸把N元钱给了小青,让他购买一批文具,并作了以下要求:只能买圆珠笔、铅笔和铅笔芯,并且每样至少买一支,总数要超过30支,而且钱要全部花完。

当小青去到文具店时,发现圆珠笔8角钱一支、铅笔2角钱一支、铅笔芯1角钱一支。

小青怎么买才能符合爸爸的要求呢?请你编个程序帮他算出符合购买要求的所有方案总数。

Input一个整数N,表示购买文具一共的元数。

(1 <= N <= 50)Output一个整数,即符合购买要求的所有方案总数。

Sample Input 8Sample Output 135Sourceprogram ex1294;var n,i,j,k,sum:integer;beginreadln(n);n:=n*10;sum:=0;for i:=1 to n div 8 dofor j:=1 to n div 2 dobegink:=n-i*8-j*2;if (i+j+k>30) and (k>1) then inc(sum);end;writeln(sum);end.任意一个数都可以由1、2、3三个数组合而成。

如4有以下7种组合方案:1 + 1 + 1 + 11 + 1 + 21 +2 + 12 + 1 + 12 + 21 + 33 + 1你的问题来了,对于给定的一个数,请你计算出这个整数可以有多少个组合方案,其和由1、2、3组合而成。

数据输入输入包含多组数据,每一组数据中,输入数据的第一行为一个整数n(1<=n<=20),要分解的数。

数据输出这个整数的分解的组合数。

样例输入4样例输出7分析用f(n)表示将n按照1、2、3分解的方法数当n=1时,f(1)=1; {1}当n=2时,f(2)=2; {1+1},{2}当n=3时,f(3)=3; {1+1+1},{1+2},{2+1},{3} 当 n=k时 (k>=4)考虑最后添加的一个数字可能是1、2、3。

所以很容易推出递推公式f(k)=f(k-1)+f(k-2)+f(k-3).varf:array[1..20] of longint;i,n:longint;procedure init;beginassign(input,'divide.in');assign(output,'divide.out');reset(input);rewrite(output);end;procedure endit;beginclose(input);close(output);end;begininit;readln(n);f[1]:=1;f[2]:=2;f[3]:=4;for i:=4 to n dof[i]:=f[i-1]+f[i-2]+f[i-3];writeln(f[n]);endit;end.聪明的小地鼠Description 在学校里的试验田里面,种了n个大萝卜,小地鼠又非常的喜欢吃萝卜。

它呢,就会出来偷偷的从试验田中偷萝卜。

大萝卜都是种在一排地里面,认真的管理员,按照萝卜的位置早早的给萝卜编了号。

希望能增加管理,保证产量。

谁知道,小地鼠也有了自己的偷萝卜策略。

同样,在这个地里呢,正好也有n只小地鼠,这些小地鼠,他们都是按照顺序出来偷萝卜。

小地鼠们根据自己的出场顺序编好号,然后开始根据自己的编号开始偷萝卜。

因为,小地鼠的老大(即1号老鼠),很胖,所以他决定多偷萝卜了,而只是拿了1号萝卜,把剩余的萝卜交给他的小弟们。

当然,他为了让管理员还能够有点收入,好以后继续种萝卜,就给小弟们,下达了一个命令。

即每个地鼠只能拿自己编号倍数的大萝卜,但是不能拿与自己编号相同的萝卜。

这样就能稍微给管理员留下一些萝卜了。

可怜的管理员,你能告诉他,他最后能够剩下的大萝卜编号。

Input有一个正整数n,代表大萝卜的个数(即地鼠的个数),(5 < n < 5000) Output有若干个,代表侥幸存活下来的萝卜的编号。

由小到大输出且两个编号间用两个空格隔开。

Sample Input 10Sample Output2 3 5 7Source 海淀区2008年模拟试题(FATSHIP)program ex1131;var i,j,n,b,t:integer;a:array[0..5000] of integer;beginreadln(n);fillchar(a,sizeof(a),0);a[1]:=1;for i:=2 to n div 2 dobegint:=2;b:=t*i;while b<=n dobegina[b]:=1;inc(t);b:=t*i;end;end;for i:=1 to n doif a[i]=0 then write(i,' ':2) ;end.学生排队【试题描述】某班有n个学生(1<n≤100),编号为1,2,…,n,同时给出k个关系,关系为一对整数〈x,y〉,表示x学生比y学生高。

例如:n=4 即4个学生,同时给出5个关系:〈2,1〉〈2,3〉〈3,4〉〈1,3〉〈1,4〉此时可以根据关系将学生由高到低排队,上例排队的结果为:2134数据保证不会出现矛盾,也不会出现不确定的关系。

给出n, k后,按要求求出他们由高到低排队的结果。

【输入描述】n k(即n个学生数,k个关系)接下来k行,每行二个整数(表示关系)。

【输出描述】排队的结果若n≤6则全部输出,否则输出排队结果的前3个与最后3个(均以一个空格分开)。

【输入样例】4 52 12 33 41 31 4【输出样例】 2 1 3 4【试题来源】 2009年江苏省小学生信息学(计算机)奥赛拓扑排序program ex1766;var n,i,j,k,x,y,t,l,s,sc:integer;a:array[1..6] of integer;m:array[1..100,1..100] of integer;p:set of 1..100;beginreadln(n,k);for i:=1 to k dobeginreadln(x,y);m[x,y]:=1;end;p:=[];s:=0;sc:=0;repeatfor i:=1 to n dobegint:=0;for j:=1 to n do t:=t+m[j,i];if (t=0) and not (i in p) thenbeginp:=p+[i];inc(s);if (s<=3) or (s>n-3) then begin inc(sc);a[sc]:=i; end; for l:=1 to n do m[i,l]:=0;end;end;until s>=n;if n<=6 then t:=n else t:=6;for i:=1 to t-1 do write(a[i],' ');write(a[t]);end.你将要在元旦演奏一场吉他专场。

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

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

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

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

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

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

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

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

[样例:]【数据范围】1<=n<=60;1<= maxLevel <=10000<= beginLevel <= maxLevel经典DP,不过考试时竟然没有马上想出思路,考到一半才彻悟,BOOLEAN型DP 初始化f[1,begin]:=true;方程:f[i,j]:=f[i-1,j-a[i]] or f[i-1,j+a[i]];目标:枚举最大音量program cs2;varf:array[0..100,-2000..2000] of boolean;n,start,max,i,j,jj:longint;a:array[0..100] of longint;beginassign(input,'song.in');reset(input);assign(output,'song.out');rewrite(output);readln(n,start,max);for i:=1 to n-1 doreadln(a[i+1]);fillchar(f,sizeof(f),false);f[1,start]:=true;for i:=2 to n dofor j:=0 to max dobeginif j-a[i]>=0 thenf[i,j]:=f[i-1,j-a[i]];if j+a[i]<=max thenf[i,j]:=f[i,j] or f[i-1,j+a[i]];end;jj:=-1;for j:=max downto 0 doif f[n,j] thenbeginjj:=j;break;end;writeln(jj);close(input);close(output);end.护卫车队在一条单行的街道前排成一队,前面河上是一座单行的桥。

因为街道是一条单行道,所以任何车辆都不能超车。

桥能承受一个给定的最大承载量。

为了控制桥上的交通,桥两边各站一个指挥员。

护卫车队被分成几个组,每组中的车辆都能同时通过该桥。

当一组车队到达了桥的另一端,该端的指挥员就用电话通知另一端的指挥员,这样下一组车队才能开始通过该桥。

每辆车的重量是已知的。

任何一组车队的重量之和不能超过桥的最大承重量。

被分在同一组的每一辆车都以其最快的速度通过该桥。

一组车队通过该桥的时间是用该车队中速度最慢的车通过该桥所需的时间来表示的。

问题要求计算出全部护卫车队通过该桥所需的最短时间值。

输入输入文件第一行包含三个正整数(用空格隔开),第一个整数表示该桥所能承受的最大载重量(用吨表示);第二个整数表示该桥的长度(用千米表示);第三个整数表示该护卫队中车辆的总数(n<1000)。

接下来的几行中,每行包含两个正整数W和S(用空格隔开),W表示该车的重量(用吨表示),S表示该车过桥能达到的最快速度(用千米/小时表示)。

车子的重量和速度是按车子排队等候时的顺序给出的。

相关文档
最新文档