文档库

最新最全的文档下载
当前位置:文档库 > 2010年北京市赛小学生试题

2010年北京市赛小学生试题

2010年北京小学生科普日活动试题

考试时间:

2010年11月21日 8:30至10:00 (90分钟)

要求:

请你在指定位置用自己的考号建立一个文件夹,并在这个文件夹中为本次竞赛的每个题目建立一个子文件夹,这些子文件夹的名字分别是:light、forcast、stattis、converse、sig。

提交答案时,请将每个题目的程序放入自己的考号文件夹中,同时分别备份放入各自的子文件夹中。即每个程序需要存放在两个位置,一个在自己的考号文件夹中,另一个在自己的考号文件夹下与程序名相同的子文件夹中。建立文件夹错误或放在其它位置,不计分。

本次竞赛每个题目有10个测试点,每个测试点2分,每个题满分20分。本次竞赛满分100分。每个测试数据测试时限1秒。

试题1:天花板上的小灯(共10个测试点,每个点2分)

light.c / light.cpp / light.pas / light.bas

【问题描述】

虽然小凡刚读到小学六年级,可她已经是一个有五年经验的钢琴高手了唷!上个月,还在全市级别的钢琴比赛中获得一等奖了呢!而今天,正是颁奖典礼的好日子……

在礼堂等待典礼开始的时候,觉得有些无聊的小凡发现了一个有意思的小问题:

在这个礼堂的天花板上,以矩形阵列的形式装着好多好多照明用的小灯,如下图所示:

2010年北京市赛小学生试题

反正典礼也没开始,我们就和小凡一起数数整个天花板上的小灯一共有多少个吧——当然,只需数下总行数和总列数就可以了。

【输入文件】

文件名:light.in

文件中有两个用空格分开的整数a 、b ,表示这些小灯的总行数和总列数。保证1000001≤≤a 、1000001≤≤b 。

【输出文件】

文件名:light.out

文件中只有一个整数,表示小灯的总数。

【样例输入】

3 6

【样例输出】

18

试题2 :预测排名(测试点个数及分值)

forcast.c/ forcast.cpp/ forcast.bas

【问题描述】

体育组的张老师组织某年级的学生进行拔河比赛,该年级一共有n 个班,每班各选出5名男学生参加比赛。张老师想预测一下各个班级的排名情况,他通过医务室取得了所有参加比赛学生的力量值,他认为参加比赛的学生力量值总和越大,排名越靠前。现在请你帮张老师预测一下,n 个班的排名情况。

【输入文件】文件名:forcast.in

文件中第一行有一个整数n ,表示有n 个班,已知102≤≤n 。 以下有n 行数据,每行共有5个整数,分别代表1至n 班的每个学生的力量值。

【输出文件】文件名:forcast.OUT

文件中有n 个数,以空格为间隔,第1个数代表1班的排名,第2个数代表2班的排名,……第n 个数代表n 班的排名。

【样例输入】

2

2 4 9 5 6

3 7 8 9 2

【样例输出】

2 1

试题3 :统计单词(测试点个数及分值)

stattis.c/ stattis.cpp/ stattis.bas

【问题描述】

小明在学习英语单词,一边读,一边敲进stattis.in 文件中。

学习完后,他想统计一下某个特定的单词敲过多少次。

例如:computer true hello computer key word hi hello.统计computer单词的个数是2。输入的每个单词之间只有一个空格,最后以英文句号‘.’为终止符。输入要求:开头就是单词,单词之间只有一个空格,除了英文句号‘.’之外,不存在其他特殊字符。输入的字符的总长度(包括空格)<=200。需要统计的单词长度<=10。【输入文件】

文件名:stattis.in

文件中第一行为输入的单词内容,第二行为需要统计的单词,以回车字符为结束。

【输出文件】

文件名:stattis.out

单词出现次数。

【样例输入】

computer true hello computer key word hi hello.

computer

【样例输出】

2

试题4 :翻纸牌(测试点个数及分值)

converse.c/ converse.cpp/ converse.bas

【问题描述】

五年级一班全体学生做一个游戏,有n(n<=10000)张纸牌,每张纸牌上分别标注着1、2、3、4……n个数字,初始时纸牌数字面朝上。全班同学先将1的倍数的纸牌翻过来,然后再将2的倍数的纸牌再翻过来,一直翻到n的倍数的纸牌。统计翻到最后数字面向下的纸牌分别是那些?

例如,有1、2、3张纸牌,第一次翻转1的倍数,将所有序号为1的倍数的纸牌翻转;第二次翻转2的倍数,将所有序号是2的倍数的纸牌再翻转;第三次翻转3的倍数,将所有序号是3的倍数纸牌再翻转,翻牌到此结束。最后数字面向下的纸牌是序号为1的那张。【输入文件】

文件名:converse.in

文件中第一行输入数字为n,表示有n张纸牌。

【输出文件】

文件名:converse.out

输出数字面向下的纸牌数字。

【样例输入】

3 (n<=10000)

【样例输出】

1

试题5 :信号追踪(共10个测试点,每个点2分)

sig.bas/sig.pas/sig.c/sig.cpp

【问题描述】

在电影里我们常常可以看到这样的镜头,通过在犯罪分子身上安装的信号发射装置,警方可以持续不断的知道犯罪分子的位置。现在

2010年北京市赛小学生试题

号,那么请你编写程序计算从信号开始到信号结束目标至少移动了多少距离,在本地图中,只能上下左右四个方向移动,相邻两个单元格的移动距离为1。例如接受信号如:BJOI,那么移动顺序为B-J-O-I,最少移动距离7。

【输入文件】(sig.in):

一行字符串,代表你所连续接受到的位置信号。

【数据限制】:

本题10个测试数据,其中每个测试数据不超过100个字符,且保证不会出现地图上没有出现过的字符。

【输出文件】(sig.out):

一个整数,代表最少移动距离。

【样例输入】:

BJOI

【样例输出】:

7