2016绍兴市第十四届少儿信息学竞赛复赛试题 下载本文

绍兴市第十四届少儿信息学竞赛复赛试题

(考试时间:150分钟)

一、题目一览

中文题目名称 英文题目名称 输入文件名 输出文件名 每个测试点时限 测试点数目 每个测试点分值 骑车与走路 select select.in select.out 1秒 10 10 数字方阵 matrix matrix.in matrix.out 1秒 10 10 辣椒炸弹 bomb bomb.in bomb.out 1秒 10 10 排座位 seat seat.in seat.out 1秒 10 10 二、比赛目录结构示例

选手比赛时,需在本机为每题建立对应的题目目录,目录名称与题目英文名称相同。选手根据题目要求,将自己提交的源程序,放在该题的题目目录下。

每位选手把自己提交的源程序连同要求的目录结构,存入D盘根目录中。(只递交源程序,测试时以源程序为准)

例如:假设试卷中有cashier、dune、manhattan三题,选手sx001使用Pascal答题,其最终提交的文件为cashier.pas、dune.pas、manhattan.pas,则该选手提交的目录结构如下所示:

|---sx001/

|---cashier/

|---cashier.pas |---dune/

|---dune.pas |---manhattan/

|---manhattan.pas

三、特别提醒

1、务必看清题目,严格按照试题所要求的格式输入、输出。

2、比赛开始前应先检查本机能否正常使用,如有问题可向监考老师提出。比赛结束后应及时离开机房,但注意不要关机。

1、骑车与走路(select.pas)

【问题描述】

在大学校园里,没有自行车,上课办事会很不方便。但实际上,并非去办任何事情都是骑车快,因为骑车总要找车、开锁、停车、锁车等,这要耽误一些时间。假设找到自行车,开锁并车上自行车的时间为27秒,停车锁车的时间为23秒,步行每秒行走1.2米,骑车每秒行走3.0米。请判断走不同的距离去办事,是骑车快还是走路快。 【输入】

第一行为待处理的数据的数量n(1<=n<=100);

其后每一行整数(不超300)为一次办事要行走的距离,单位为米。 【输出】

对应每个整数,如果骑车快,输出一行“Bike”,如果走路快,输出一行\;如果一样快,输出一行“All”。 【输入输出样例】 select.in 4 50 90 120 180

select.out Walk Walk Bike Bike

2、数字方阵(matrix.pas)

【问题描述】

周末,爸爸妈妈带着笑笑去商场玩,正好碰上了商场在举办有奖竞答活动,而且根据问题的难度不同,奖品的价值也有不同。

其中有个问题是:在一个数字方阵中,随机放置了0~9的数字。我们把由数字1~9的组成的串称为非零串(不含0的数字串)。例如02303230,这组数据中有23和323两种非零串。其中长度最长的非零串为323。

由于这个方阵太大了,现在请你编程计算,已知一个n*m(1<=n,m<=1000)的数字方阵,求方阵第k行的最长非零串的长度。

如下图:在4*8的方阵中,第2行的最长非零串长度为3。

1 0 3 1 【输入】

输入数据有若干行。第一行,有三个整数N、M(1<=N、M<=1000)和K(1<=K<=N),其中N、M分别表示这个数字方阵中行数和列数。K表示求数字方阵第K行的最长数字串长度。

接下来有N行,每行M个0~9的数字,每个数字间用一个空格隔开。 【输出】

输出第k行的最长非零串的长度。 【输入输出样例】 matrix.in 4 9 3 9 2 0 0 3 4 2 5 0 4 0 2 3 0 3 2 3 1 3 8 3 2 9 0 7 5 1 1 0 3 1 0 0 6 6 0 matrix.out 5 2 2 0 0 0 3 3 3 3 0 2 1 4 3 0 0 2 2 0 0 2 3 0 0 0 0 1 0

3、辣椒炸弹(bomb.pas)

【问题描述】

植物大战僵尸这款游戏中,有一种植物武器叫辣椒炸弹,在草坪中的任意一格摆放它可以把草坪中该行上的所有僵尸瞬间消灭,也就是说,如果在第i行中任意位置摆放一个炸弹,第i行中的所有僵尸就瞬间都被杀死了。现在我们假定草坪有r行c列,草坪中有n只僵尸,僵尸不移动,现在给你k个辣椒炸弹,要求只能使用这k个炸弹来消灭这些僵尸,请问最多可以杀死多少只僵尸? 【输入】

第一行4个正整数r,c,k,n;

接下来n行,每行两个正整数x,y,表示第x行的第y列中有一只僵尸。 【输出】

第1行输出最多可以杀死的僵尸数;

第2行按顺序输出所有被消灭的行,如果有不同方案,输出字典序最小的那种方案。 【输入输出样例】 bomb.in 4 6 2 6 1 3 2 3 3 1 4 4 4 5 4 6 样例说明:可以杀死第1行和第4行的所有僵尸,方案(1,4),(2,4),(3,4)都是一样多的僵尸,但(1,4)的字典序最小。 【数据范围】

对于30%的数据,0

对于100%的数据,0

bomb.out 4 1 4