谁有NOIP的测试题(经典的)初赛复赛都行
去这里找找,提取码3426
10分换题??1000分都换不到哦
NOI’95 “同创杯”全国青少年信息学(计算机)奥林匹克竞赛分区联赛初赛试题(高中组) 竞赛用时:2小时
一、基础题:
<1> 执行①C>DIR 命令后,屏幕上显示如下画面:
FORMAT COM 12145
SYS COM 4878
PUC BAT 126
XCOPY EXE 11216
4 FILE(S) 123456 bytes free
接着又顺序执行了如下几条DOS 命令:
② C>DIR> DF.TXT //表示将列表显示的目录作为文件写盘 //
③C>TYPE DF.TXT
④C>DIR
试问:执行命令③和④ 在屏幕上显示的结果是否与①相同?
<2> 列举一个问题,使问题的解能对应相应的算法。
例如对算法: X:=10;
Y:=5;
READ(M,N);
S:=X*M-Y*N;
可列举出如下的问题:
学生答题,答对一题可得10分,答错一题则要扣去5分,输入答对的题数(M)与答错的题数(N),求最后得分(S)是多少?
现有以下算法: K:=0 ;
FOR I:=0 TO 10 DO
K:=K+(50-I*5)DIV 2+1
请列出一个相应的问题。
<3> 有标号为A、B、C、D和1、2、3、4的8个球,每两个球装一盒,分装4盒。标号为字母的球与标号为数字的球有着某种一一对应的关系(称为匹配),并已知如下条件:
① 匹配的两个球不能在一个盒子内。
② 2号匹配的球与1号球在一个盒子里。
③ A号和2号球在一个盒子里。
④ B匹配的球和C号球在一个盒子里。
⑤ 3号匹配的球与A号匹配的球在一个盒子里。
⑥ 4号是A或B号球的匹配球。
⑦ D号与1号或2号球匹配。
请写出这四对球匹配的情况。
<4> 从入口(1)到出口(17)的可行路线图中,数字标号表示关卡:
现将上面的路线图,按记录结构存储如下:
1 2 18 7 3 12 4 19 8 5 13 16 6 14 15 9 17 …
0 1 1 1 2 2 2 3 4 5 6 8 10 11 11 11 12 …
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
请设计一种能从存储数据中求出从入口到出口经过最少关卡路径的算法。
二、根据题目要求,补充完善以下伪代码程序:
<1> 求出二个整形数组错位相加的最大面积。
1.数组面积的定义:(限定数组头尾不为0)
设有一个数组C=(4,8,12,0,6)
则C的面积为:
Sc=(4+8)/2 + (8+12)/2 + 12/2 + 6/2
也就是说,Sc=各梯形面积之和(其中
梯形的高约定为1,三角形作为梯形的特殊
情况处理)。
又如D=(12, 24, 6)是,其面积的定义为
2.数组错位相加的定义
设有2个正整数的数组a,b,长度为n,当n=5时:
a=(34,26,15,44,12) b=(23,46,4,0,18)
对a、b进行错位相加,可能有下列情况
34 26 15 44 12
+) 23 46 4 0 18
34 26 15 44 12 23 46 4 0 18
或:
34 26 15 44 12
+) 23 46 4 0 18
34 26 15 44 35 46 4 0 18
或:
34 26 15 44 12
+) 23 46 4 0 18
34 26 15 67 58 4 0 18
或:……
最后有:
34 26 15 44 12
+) 23 46 4 0 18 -
23 46 4 0 18 34 26 15 44 12
可以看到:由于错位不同,相加的结果也不同。
程序要求:找出一个错位相加的方案,使得输出的数组面积为最大。
[算法提要]: 设a,b的长度为10,用a,b: array[1..10] of integer表示,其结果用数组C,D: array[1..30] of integer表示。
错位相加的过程可以从开始不重叠,然后逐步重叠,再到最后的不重叠。
梯形面积的计算公式为:(上底+下底)×高÷2
其中由于约定高为1,故可写为(上底+下底)÷2。
程序: n = 10;
Function sea : real; {计算数组C面积}
Begin
J1 := 1;
While _______①______ do
j1 := j1 + 1;
ENDWHILE;
If j1 = 3 * n then sea := 0
Else begin
J2 := 3 * n;
While _______②______ do
j2 := j2 - 1;
If j1 = j2 then sea := 0
Else begin
J3 := c[j1] + c[j2];
For j4 := j1 + 1 to j2 - 1 do
INC(j3,c[j4]*2);
ENDFOR;
Sea := j3 / 2
end
ENDIF;
End;
//主程序//
For i := 1 to n do read(a[I]); endfor;
For j := 1 to n do read(b[j]); endfor;
__________③____________;
for i := 1 to 2 * n + 1 do
for j := 1 to 3 * n do ________④__________ endfor;
for j := 1 to n do c[j + n] := a[j] endfor;
for j := 1 to n do
_________⑤__________;
endfor;
p := sea;
if p > s then begin
d := c;
s := p
end;
endif;
endfor;
for I := 1 to 3 * n do write(d[I],' '); endfor;
write(s);
End. //主程序结束//
<2> 表的操作:设有一个表,记为L=(a1, a2, …, an),其中:
L:表名
a1, a2, …, an为表中的元素
当ai为0~9数字时,表示元素,ai为大写字母时, 表示是另一个表,但不能循环定义。
例如下列表的定义是合法的。(约定L是第一个表的表名)
L=(1,3,K,8,0,4)
K=(3,P,4,H,7)
P=(2,3)
H=(4,0,5,3)
程序要求:当全部表给出之后,求出表中所有元素的最大元素,以及表中全部元素的和。
[算法提要]:表用记录类型定义:
长度(LENGTH)
表体(是元素为字符类型的数组ELEMENT)
队列用数组BASE表示;
队列指针用整型变量 FRONT 与REAR。
为此,设计一个字符入队的过程inqueue,出队函数outqueue,表中最大元素及元素求和均采用递归计算。
程序:
PROCEDURE INQUEUE(Q,C); //过程需要二个参数,Q记录类型,C字符类型//
Q.REAR := _________①__________;
Q.BASE[Q.REAR] := C;
END; //过程结束//
FUNCTION OUTQUEUE(Q) //函数需要一个参数,Q记录类型//
Q.FRONT := _________②__________;
OUTQUEUE := Q.BASE[Q.FRONT]
END; //函数结束//
FUNCTION MAXNUMBER(C) //函数需要一个参数,C字符类型//
Max := CHR(0);
FOR i:=1 to T[C].LENGTH DO
CH := T[C].ELEMENT[i];
IF _______③________ THEN
M := MAXNUMBER(CH)
ELSE
M := CH
ENDIF;
IF MAX < M THEN
MAX := M
ENDIF;
ENDFOR;
___________④____________
END; //函数结束//
FUNCTION TOTAL(C) //函数需要一个参数,C:字符类型//
K := 0;
FOR i:= 1 TO T[C].LENGTH DO
CH := T[C].ELELMENT[i];
IF _________⑤__________ THEN
M := TOTAL(CH);
ELSE
M := ORD(CH)-ORD('0');
ENDIF
K := K + M
ENDFOR;
TOTAL := K;
END; //函数结束//
//主程序//
MAX := 36;
FOR TABNO := 'A' TO 'Z' DO
T[TABNO].LENGTH := 0;
ENDFOR;
Q.FRONT := 0; Q.REAR := 0;
INQUEUE(Q,'L');
WHILE (Q.FRONT <>Q .REAR ) DO
TABNO := OUTQUEUE(Q);
WRITE(TABNO, '=');
READLN(S);
i := 1;
WHILE S[i] <> '(' DO
i := i+ 1;
ENDWHILE;
WHILE S[i] <> ')' DO
IF (S[i]>='A') AND (S[i]<='Z') THEN
S[i]:=CHR(ORD(S[i])+ORD('A')-ORD('a'));
IF (S[i]>='A') AND (S[i]<='Z') THEN
INC(T[TABNO].LENGTH);
T[TABNO].ELEMENT[T[TABNO].LENGTH] := S[i];
INQUEUE(Q, S[i]);
ENDIF;
ELSE
IF (S[i]>='0') ANDN (S[i]<='9') THEN
INC(T[TABNO].LENGTH);
T[TABNO].ELEMENT[T[TABNO].LENGTH] := S[i]
ENDIF;
INC(i)
ENDIF;
ENDWHILE;
ENDWHILE;
WRITE('The max number in table L is:', maxnumber('L'));
WRITE('Total is:', total('L'))
END. //主程序结束//
<3> 设有一个实数,以字符串形式存放于数组x中,用x:array[1..N]of char表示。其中x[1]若为'-',表示负数;若为'+'、'.'或' ',则表示正数。若为数字,也认为是正数。
例如 x=(' ','2','0',' ','3','.','5','%') 则表示203.5
x=('-','1','.',' ','2','0','%') 则表示-1.2
约定:在字符串x中,除x[1]外,其后可以包含有若干个'.'与' ',但仅以第一次出现的为准,空格不起任何作用,并以字符'%'作为结束标志。
程序要求:将输入的字符串还原成实数输出(小数点后无用的0应除去),还原的结果以下列形式存放(不需要输出)。
F:数符。正数放0,负数放1。
A:array[1..N] of integer; 存放数字,不放小数点。
K:表示A中有效数字的个数。
J:表示小数点后的位数。
例如:数203.24,还原后结果的存放是:
F=0
A=(2, 0, 3, 2, 4)
K=5
J=2
又如:数-33.0740,还原后结果的存放是:
F=1
A=(3, 3, 0, 7, 4)
K=5
J=3
[算法提要]:x : array[1..10] of char;可放长度定为10;首先读入字符串,然后处理数的符号,在还原的过程中,需要判定整数部分与小数部分,同时去除多余的空格和小数点,并约定输入是正确的,不用作出错检查。
程序:
FOR I := 1 TO 10 DO A[I] := 0; ENDFOR;
FOR I := 1 TO 10 DO READ(X[I]); ENDFOR;
J := 0; F := 0; K := 0; B := 0;
IF X[1] = '-' THEN BEGIN
____________①____________
____________②____________
END
ELSE IF X[1] := ' ' THEN I := 2
ELSE I := 1;
ENDIF;
ENDIF;
WHILE ________③_________ DO
I := I + 1;
ENDWHILE
WHILE __________④___________ DO
IF (X[I] >= '0') AND (X[I] <= '9') THEN
K := K + 1;
_________⑤____________;
IF B = 1 THEN
______⑥_________
ENDIF
ELSE IF (X[I]='.') AND (B=0) THEN
B := 1;
ENDIF
I := I + 1
ENDIF;
ENDWHILE;
IF J > 0 THEN WHILE A[K]=0 DO
__________⑦_________
__________⑧_________
ENDWHILE;
ENDIF.
END. //程序结束//
NOIP读程序的技巧(Pascal)
今年的10月20日又是NOIP初赛的日子。。我收集了不少资料,就缺 读程序的技巧 了。望各位好心的网友帮我找找。谢谢了!读程序的技巧,Pascal语言的!!!特别是读超多次循环和递归调用的程序的技巧!再次感谢!!!阅读程序的题目基本都是算到你头晕的那种啊。。有的题其实不难啊,但是这个加减乘除赋过来,那个再加减乘除...
谁可以介绍一下NOIP的考试规则?
2022年将被取消)、C(2022年将被部分取消)或C++。各省市竞赛的等第奖在复试的优胜者中产生。复赛普及组时间为3.5小时。只进行一试,约在当年的11月的第三个周六进行。为加强竞赛结果的公信力,自2011年起,复赛提高组由一试改为两试,分由两天进行。每天竞赛试题由原来的4题改为3题。
关于noip测试数据
.in就是测试用的输入文件;.ans就是输入文件的标准输出文件~就是用来测试分数的~你的程序运行,对一个输入文件,输出文件和标准输出文件完全一致,并且程序运行不超时,那么就可以得到相应分数,否则这个测试点没有分数。noip的话每题10个测试数据,1个测试数据10分,对了就10分,错了0分。超时也0分...
在散列表和排序后的列表中找一个元素,哪个查找速度最快? 最简洁的答案...
首先,当规模比较小的时候(大约为a< 10% * P,这个数据仅仅是通过若干数据估记出来的,没有严格证明,下同),第二种方法比哈希表快。这是由于,虽然每次计算哈希函数用O(1) 的时间,但是这个系数比较大。例如这道题的 H(x)=x mod 15589 ,通过与做同样次数的加法相比较,测试发现系数 > 12 ,因为 mod 运算...
noip2009初赛答案
B)在联机测试中通过手工计算出可能的答案并在程序里直接输出答案来获取分数。C)通过互联网搜索取得解题思路。D)在提交的程序中启动多个进程以提高程序的执行效率。【分析】选择BCD 都算是违反纪律的。A有时候是可以的。这里考的是NOI,不是NOIP。三.问题求解(共2题,每空5分,共计10分)1.拓扑排序是指将有向无...
noip复赛会考哪些类型的题目?该如何复习?
【有序表】顺序表、链表、线段树及其基本操作 【图论】Dijkstra算法的堆优化、求割点、求割边、强连通分量、欧拉路(边一次)、汉密尔顿回路(点一次)、差分约束系统 【动态规划】状态压缩的动态规划 【分治】二分查找、二分答案、最近点对 【树】 归并树(逆序对)【其他】Hash、矩形切割(与线段树的...
noip初赛题解
复试:复试的题型和形式向全国信息学奥赛(NOI)靠拢,全部为上机编程题,但难度略低。复试为决出竞赛成绩的最后一个环节。题目难度有易有难,既考虑普及面,又考虑选拔的梯度要求。每一道试题包括:题目、问题描述、样例说明(输入、输出及必要的说明)、数据范围(数据限制条件)。测试时,测试程序为每...
NOI、NOIP及所有OI中都会对每一道题设计相应的测试点,请问谁能给个根据...
excel就可以生成数据 用过excel没 rand()函数可以生成0~1的随机实数 也就是说,你要生成0~1000的数据可以这样做 =int(rand()*1000)然后点着单元格的右下角扩展 右边的行就是数据的个数 最后 复制 出来 粘贴 到 .in文件就是了 如果正式比赛没有excel、 自己写程序吧 pascal randomize+random()c...
关于NOIP的几个问题
难度有易有难,既考虑普及面,又考虑选拔的梯度要求。每一道试题包括:题目、问题描述、样例说明(输入、输出及必要的说明)、数据范围(数据限制条件)。测试时,测试程序为每道题提供了十组测试数据,考生程序每答对一组得10 分;累计分即为该道题的得分。报名时间与地点依照当地科协的规定。NOIP比赛...
刘汝佳的《算法竞赛入门经典》该怎么学?
如果C++已经学会了,前面几章可以快速过一遍主要看题,然后学后面的内容,几何那一章NOIP应该不考。根据实际情况选择学习顺序,至少把每一章的前几节掌握,最好把例题重新做一遍,习题要看,要有思路,选择几题打成代码。(时间充裕的话可以全写),可以再买本训练指南,这两本书的主要内容掌握了,noi...
军邱法益:[答案] 1~13是第一圈,第一圈完了又从1开始到13,即14~26第二圈,以此类推……所以答案是N%13,但要注意13的倍数的时候不是0而是13#includeusing namespace std;int main(){ int n; cin >> n; if (n%13==0) cou...
宝山区18065235323: NOIP2012初赛试题及答案 - ?
军邱法益:[答案] 第十八届全国青少年信息学奥林匹克联赛初赛 普及组参考答案 一、单项选择题(共20题,每题1.5分,共计30分) 1 2 3 4 5 6 7 8 9 10 A B A B C C B C A A 11 12 13 14 15 16 17 18 19 20 B D B C C D C A C B 二、问题求解(共2题,每题5分,共计...
宝山区18065235323: noip初赛阅读程序试题 谁帮我做一下 好的话+分13.program chu7 - 2;var i,j,f:integer;a:array [1..8] of integer;beginfor i:=1 to 8 dobeginf:=i mod 2;if f=0 then a[i]:=0... - ?
军邱法益:[答案] (13) a[1]=1;a[2]=3;a[3]=6;a[4]=10;a[5]=120;a[6]=21;a[7]=5040;a[8]=36 (14) 181 110 87 76 66 62 61 60
宝山区18065235323: noip2010初赛试题 一定要问题配答案! - ?
军邱法益: CCF NOIP2010提高组(Pascal语言)参考答案与评分标准一、单项选择题(共10题,每题1.5分,共计15分) 1 2 3 4 5 6 7 8 9 10 C A A D B D C B C B 二、不定项选择题(共10题,每题1.5分,共计15分,多选或少选均不得分) 1 2 3 4 5 6 ...
宝山区18065235323: 有谁有noip2008普及组初赛官方答案? - ?
军邱法益: NOIP2008年普及组(Pascal语言)参考答案与评分标准 一、单项选择题:(每题1.5分) 1. A 2. B 3. C 4. C 5. B 6. D 7. C 8. D 9. A 10. B 11. D 12. A 13. B 14. B 15. B 16. A 17. B 18. A 19. B 20. D 二、问题求解:(共2题,每题5分,共计10分...
宝山区18065235323: 谁有历届NOIP的C语言初赛试题?
军邱法益: NOIP2006 http://www.stl.vc/htmlx/Else/C/Base/2009/1004/3932.html2008年的~ http://www.stl.vc/htmlx/Else/C/Base/2009/1004/3933.html 2007年的百度上应该有~~~
宝山区18065235323: 求2012十八届NOIP普及组初赛试题(有选择题也行)最快者加分 - ?
军邱法益: 第十八届全国青少年信息学奥林匹克联赛初赛 普及组参考答案 一、单项选择题(共20题,每题1.5分,共计30分) 1 2 3 4 5 6 7 8 9 10 A B A B C C B C A A 11 12 13 14 15 16 17 18 19 20 B D B C C D C A C B 二、问题求解(共2题,每题5分,...
宝山区18065235323: 第十五届全国青少年信息学奥林匹克联赛初赛试题及答案 - ?
军邱法益: NOIP2009初赛普及组(C语言、PASCAL语言)参考答案与评分标准一、单项选择题:(每题1.5分)1. D 2. B 3. A 4. A 5. B6. D 7. C 8. B 9. C 10. D11. C 12. C 13. B 14. D 15. D16. B 17. D 18. A 19. C 20. B二、问题求解:(共2题,每空...
宝山区18065235323: noip初赛题求解? - ?
军邱法益: 1 V 是或运算∧ 是与运算运算级 是先与后或 b...........00001111 c...........01011100 B∧C........00001100 a...........11001110 A V B∧C....110011102 这个就是 输入 key 对应的返回 key/13的余数如本题用线性 就是发现有冲突以后(地址相同) 地址+1直到有空地址 在 (2、8、31、20、19、18、53、27) 里面的元素/%13后 地址有2 8 5 7 6 9(5+1+1+1+1) 1 3(2+1)
宝山区18065235323: NOIP2009普及组初赛三题4题 - ?
军邱法益: 原题目确实有错误,标准答案为NPOI 附:关于NOIP2009初赛普及组Pascal语言一道题目的问题与阅卷处理意见 经查,NOIP2009 初赛普及组(Pascal版本)第四大题(阅读程序写结果)第4小题题 目中存在一处数据输入格式的错误:该题提供...