当前位置:文档之家› 第八届绍兴市少儿信息学竞赛复赛试题及答案

第八届绍兴市少儿信息学竞赛复赛试题及答案


第1列 第2列 第3列 第4列 第5列 第6列
第1行 5
7
4
5
1
13
第2行 9
6
3
2
8
7
第 3 行 10 14
0
1
9
4
第4行 4
6
9
18
25 0
第5行 3
1
2
9
0
2
可以发现结花生果最多的那株花生植株在(4,5),则选手采摘的顺序应为 (1,1)-(2,1)-(3,1)-(4,1)-(4,2)-(4,3)-(4,4)-(4,5), 一共采得的花生果粒数为 5+9+10+4+6+9+18+25=86。
第八届绍兴市少儿信息学竞赛复赛
第八届绍兴市少儿信息学竞赛复赛试题
(2010 年 11 月 27 日 下午 1:30-4:00)
一、题目概览
中文题目名称 英文题目名称 输入文件名 输出文件名 每个测试点时限 测试点数目 每个测试点分值
采花生 chs
chs.in chs.out
1秒 10 10
奶牛塔 nnt
输入文件: 输入文件 chs.in,第 1 行有两个整数 n 和 m( 1 < n,m <= 100 ),表示花生田一 共有 n 行 m 列。 第 2 至 n+1 行,每行有 m 个用空格隔开的整数,第 i + 1 行的第 j 个整数 Pij (0 <= Pij <= 700)表示花生田里植株(i, j)下花生的数目,0 表示该植株下没有花 生。 输出文件: 输出文件 chs.out,只有一行,一个整数,表示选手一共摘到的花生果数目。 输入样例: 56 5 7 4 5 1 13 963287 10 14 0 1 9 4 4 6 9 18 25 0 312902 输出样例: 86
|---sx1001/ |---cashier/ |---cashier.pas |---dune/ |---dune.pas |---manhattan/ |---manhattan.pas
四、特别提醒
比赛开始前应先检查本机能否正常使用,如有问题可向监考老师提出。比赛 结束后应及时离开机房,但注意不要关机。
begin assign(input,'bee.in'); assign(output,'bee.out'); reset(input); rewrite(output); readln(m,n); a[m+1]:=1; a[m+2]:=2; for i:= m+3 to n do a[i]:=a[i-2]+a[i-1]; write(a[n]:0:0); close(input); close(output);
begin a:=a+x mod 10; x:=x div 10; end; while y>0 do begin b:=b+y mod 10; y:=y div 10; end; writeln(a*b); close(input); close(output); end.
bee.pas:
var m,n,i,j,x:longint; a:array[1..100] of real;
选手比赛时,需在本机为每题建立对应的题目目录,目录名称与题目英文名 称相同。选手根据题目要求,将自己提交的源程序,放在该题的题目目录下。
每位选手把自己提交的源程序连同要求的目录结构,存入 D 盘根目录中。(只 递交源程序,测试时以源程序为准)
例如:假设试卷中有 cashier、dune、manhattan 三题,选手 sx1001 使用 Pascal 答题,其最终提交的文件为 cashier.pas、dune.pas、manhattan.pas, 则该选手提交的目录结构如下所示:
chs.pas:
批准:绍兴市科协、绍兴市教育局 主办:绍兴科技馆、绍兴市教育教学研究院
4
第八届绍兴市少儿信息学竞赛复赛
var n,m,i,j,max,x,y,s:longint; a:array[0..100,0..100] of longint;
begin assign(input,'chs.in'); reset(input); assign(output,'chs.out'); rewrite(output); readln(n,m); max:=0; for i:= 1 to n do for j:= 1 to m do begin read(a[i,j]); if a[i,j]>max then begin max:=a[i,j]; x:=i; y:=j; end; end; s:=0; for i:= 1 to x do s:=s+a[i,1]; for i:= 2 to y do s:=s+a[x,i]; writeln(s); close(input); close(output);
1.采花生(chs.pas)
批准:绍兴市科协、绍兴市教育局 主办:绍兴科技馆、绍兴市教育教学研究院
1
第八届绍兴市少儿信息学竞赛复赛
问题描述: 在参加“采花生”这个项目比赛时,考官会出示一块 n 行、m 列的花生田, 上面一共种了 n*m 株花生苗。每株花生植株下都结了一定数量的花生果,比赛 开始时选手站在第 1 行,第 1 列的位置,现要求用最短的时间找到结花生果最多 的一株花生植株(数据保证花生果最多的植株只有一株),然后按先向南(下) 走,再向东(右)的路线顺序去采摘它的花生果,沿路经过的其他花生植株下面 的花生果也要一并采摘下来,但不允许采摘没有路过的花生植株,否则依犯规出 局处理。问这个选手一共可以采摘到多少粒花生果? 如一块 n=5,m=6 的花生田
3.贝茜式乘法(cheng.pas)
问题描述:
做厌了乘法计算题的贝茜,自创了一种新的乘法运算法则。在这套法则里,
A*B 等于一个取自 A、一个取自 B 的所有数字对的乘积的和。比方说,123*45 等于 1*4 + 1*5 + 2*4 + 2*5 + 3*4 + 3*5 = 54。
对于 2 个给定的数 A、B(1<=A,B<=长整型最大数),你的任务是,用新的 乘法法则计算 A*B 的值。
nnt.in nnt.out
1秒 10 10
贝茜式乘法 cheng
cheng.in cheng.out
1秒 10 10
数字蜂房 bee
bee.in bee.out
1秒 10 10
二、提交源程序文件名
对于 pascal 语言 chs.pas
nnt.pas cheng.pas bee.pas
三、比赛目录结构示例
批准:绍兴市科协、绍兴市教育局 主办:绍兴科技馆、绍兴市教育教学研究院
5
第八届绍兴市少儿信息学竞赛复赛
begin h[i]:=h[j]; i:=i+1;
end; while (i<j)and(x<=h[i]) do i:=i+1; if i<j then
begin h[j]:=h[i]; j:=j-1;
2.奶牛塔(nnt.pas)
批准:绍兴市科协、绍兴市教育局 主办:绍兴科技馆、绍兴市教育教学研究院
2
第八届绍兴市少儿信息学竞赛复赛
问题描述: John 最近为奶牛们的图书馆添置了一个巨大的书架,尽管它是如此的大, 但它还是几乎瞬间就被各种各样的书塞满了。现在,只有书架的顶上还留有一点 空间。 所有 n(1<=n<=2000)头奶牛都有一个确定的身高 Hi(1<=Hi<=1000)。设所有 奶牛身高的和为 s。书架的高度为 b,并且一定保证 1<=b<=s<2000000。 为了够到比最高的那头奶牛还要高的书架顶,奶牛们不得不象演杂技一般, 一头站在另一头的背上,叠成一座“奶牛塔”。当然,这个塔的高度,就是塔中 所有奶牛的身高之和。为了往书架顶上放东西,所有奶牛的身高和必须不小于书 架的高度。显然,塔中的奶牛数目越多,整座塔就越不稳定,于是奶牛们希望在 能够到书架顶的前提下,让塔中奶牛的数目尽量少。 现在,奶牛们找到了你,希望你帮她们计算这个最小的数目。 输入文件: 输入文件 nnt.in, 第 1 行是二个用空格隔开的整数 n 和 b; 第 2 至 n+1 行中,每行是 1 个整数 Hi,表示每头奶牛的身高。 输出文件: 输出文件 nnt.out,只有 1 行,1 个整数,表示最少要多少头奶牛叠成塔, 才能够到书架顶部。 输入样例: 6 40 6 18 11 13 19 11 输出样例: 3
end.
批准:绍兴市科协、绍兴市教育局 主办:绍兴科技馆、绍兴市教育教学研究院
7
输入文件:
批准:绍兴市科协、绍兴市教育局 主办:绍兴科技馆、绍兴市教育教学研究院
3
第八届绍兴市少儿信息学竞赛复赛
输入文件 cheng.in,只有一行,是 2 个用空格隔开的整数 A、B. 输出文件: 输出文件 cheng.out,只有 1 行,1 个整数,即新的乘法法则下 A*B 的值. 输入样例: 123 45 输出样例: 54
end.
nnt.pas:
var n,b,i,x,s:longint; h:array[1..20000]of longint;
procedure kp(low,high:longint); var i,j,x:longint; begin
if low<high then begin i:=low;j:=high;x:=h[i]; repeat while (i<j)and(x>=h[j]) do j:=j-1; if i<j then
相关主题