2016年,少儿信息学复赛试题

更新时间:2024-01-26 20:19:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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

(考试时间: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。

2 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 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

4、排座位(seat.pas)

【问题描述】

为了迎接“五一”国际劳动节,笑笑所在学校决定举行庆祝活动,活动在报告厅举行,每位学生都分到了1个座位号,而报告厅的座位是按座位号蛇形排列的,学生必须对号入座。如下图是报告厅4行*5列的座位排列情况。

列 1 2 3 4 5 行 1 2 3 4

现在存在的一个问题是,如何让学生根据自己的座位号很快的知道自己所坐的位置(也就是座位号所在的行、列)。 【输入】

第一行:包括两个数,r和c(1<=r,c<=100),表示报告厅座位共有r行c列。 第二行:一个整数n(1<=n<=r*c),代表有n个学生想知道自己的具体位置。 接下来n行:每一行一个整数,代表询问具体位置的座位号。 【输出】

输出n行,每一行两个整数,代表询问的座位号所在的行和列。 【输入输出样例】 seat.in 4 5 3 4 13 19

seat.out 1 4 3 3 4 2 1 10 11 20 2 9 12 19 3 8 13 18 4 7 14 17 5 6 15 16

本文来源:https://www.bwwdw.com/article/1p0w.html

Top