2010安徽省信息学竞赛试题(小学组)

2020-05-04 15:50

2010年安联杯安徽省青少年信息学奥林匹克竞赛 小学组试题

2010年安联杯安徽省青少年信息学奥林匹克竞赛

小学组试题

AOI 2010

比赛时间:2010年4月27日8:00至11:00

题目名称 源文件名 输入文件名 输出文件名 试题类型 满分 是否有部分分 时限

等值首尾和 add.pas/c/cpp add.in add.out 传统型 100 否 1秒 最长连续组长度 long.pas/c/cpp long.in long.out 传统型 100 否 1秒 打字游戏 game.pas/c/cpp game.in game.out 传统型 100 否 1秒 注意事项

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

2. 在调试程序时请先使用题目中的示例数据,然后再自行设计多组测试数据

进行调试。

3. 测试有严格的时间限制,请尽可能优化算法。 4. 命名规则:

(1)每题都规定了该题的英文名称。

(2)程序文件和数据文件的主文件名都是该题的英文名字。 (3)程序文件扩展名采用语言环境的默认扩展名。

(4)数据文件都是文本文件,输入和输出文件的扩展名分别是.in和.out。 5. 程序应从输入文件读取数据,并严格地按照规定的输出格式将结果输出到

输出文件中。输入数据文件和输出数据文件都与程序在同一个目录中,由于程序所在目录是不确定的,因此不允许在程序中含有盘符信息和任何形式的路径信息。

6. 选手在竞赛结束时应在D盘根目录下建立以参赛号命名的文件夹,并将所完

成各题的源程序文件放到该文件夹中。测试以评测系统编译的可执行文件为准,测试系统使用的是标准的编译指令处理源程序,没有附加任何编译选项,请选手按照考试机器上语言环境的默认配置来编译调试自己的程序。

安徽 芜湖 2010.4.27 1

2010年安联杯安徽省青少年信息学奥林匹克竞赛 小学组试题

题目

1. 等值首尾和(add)

正在上一年级的小卡卡最近开始学习数的加法运算,一天老师为了测试大家对加法的掌握情况,让同学们做了一个有趣的游戏。老师在黑板上从左到右写下了n个大于零的整数,老师接下来找出n个同学完成下面的计算任务。第一个同学在黑板上抄下最左边的数字,第二个同学负责将第一个同学写下的数字,加上老师写下的左边第二个数字所得到的数写在了黑板上。以此类推,第m个同学将前面第m-1个同学所写下的数字加上老师在黑板上写下的从左边数的第m个数字所得之和,并将结果写到黑板上。当计算完成这n个数字之后,老师又让同学从最右边开始按相同的方法再次计算出n个数值。最后老师让同学们找出这所有数字当中共有多少个是相同的。

例如:老师在黑板上写下了7个数,从左到右依次为:3,6,2,1,4,5,2,则同学们第一次从左边开始计算所得到的7个数值应该是:3,9,11,12,16,21,23;而第二次从右边开始计算所得到的7个数值应该是:2,7,11,12,14,20,23;于是第一次与第二次计算出的数值中相同的有3个,它们分别是:11、12与23。

输入:第共两行,第一行为n(1

每个数的大小在0~200之间。

输出:第一次与第二次计算出的数值中相同的个数 样例:

输入:(add.in) 7

3 6 2 1 4 5 2

输出:(add.out) 3 限制:

50%的数据 1

安徽 芜湖 2010.4.27

2

2010年安联杯安徽省青少年信息学奥林匹克竞赛 小学组试题

100%的数据 1

2. 最大连续组长度(long)

今天老师在课堂上让同学们做了一个有趣的游戏。老师叫小卡卡在黑板上任意写下一串由26个英文字母组成的字母序列。然后,老师要求同学们在最短的时间里找出这个字母序列中哪个字母连续出现的次数最多,并且指出该字母一共连续出现了多少次,最先得到正确答案的同学将赢得游戏。

例如:小卡卡写下的字母序列为ABBAAAACC,其中左边起第1个字母A没有连续出现。第二字母B连续出现了2次。第4个字母A连续出现了4次,第8个字母C连续出现了两次。则在这个字母序列中,第4个字母A连续出现的次数最多,共4次。

请大家编程解决这个问题。

输入:共两行,第一行为字母序列中的字母个数N(1

序列。

输出:共两行,第一行为最多连续出现的次数,第二行为连续出现次数最多的

字母。(最多的次数只会出现一次)

样例:

输入:(long.in) 9

ABBAAAACC

输出:(long.out) 4 A 限制:

50%的数据 1

3. 打字游戏(game)

学校组织了一场打字游戏比赛,该游戏开始后会不断从屏幕的上方掉下标

安徽 芜湖 2010.4.27

3

2010年安联杯安徽省青少年信息学奥林匹克竞赛 小学组试题

有数字的气球,如果在气球坠入屏幕最下方之前按下气球上对应的数字键,则该气球就会被击破(屏幕上方掉下来有数字的气球最多为500个)。当游戏结束后,屏幕中会显示出该选手击破的气球上的所有数字,这些数字按被击破的先后顺序组成的数字串即为游戏者的比赛得分,得分最高者比赛胜出。作为裁判的小卡卡需要按照选手的比赛得分,按从小到大的顺序给每位选手排列名次。得分最高的选手名字排在第一行,而得分最低的选手名字排在最后一行。

请你帮助小卡卡编程完成。

输入:共2*N+1行。第一行是一个1到500的整数N,表示总共有N位比赛选

手。以下2*N行依次给出每位选手的信息。每位选手的信息都由两行组成。第一行为选手的名字,名字由26个英文字母组成,名字的长度在1~50之间。第二行为一个由一连串的数字所组成的数字串,表示该名选手的得分,该得分的长度在0~500位之间。

输出:共N行。依次输出按得分从高到低排好序的各位选手的名字,每个名字

占据单独的一行。若几个名字的得分相同,则按名字的字典顺序先后排列。

样例:

输入:(game.in) 6 Sedgewick

56541313484613131997132131312121 Parberry

31646431316464313131644979791313 Polya

6794313013464644313131313131 Motwani

13134949746416265468652 Gonzalez

1651644987436132164646499413131

安徽 芜湖 2010.4.27

4

2010年安联杯安徽省青少年信息学奥林匹克竞赛 小学组试题

Moret

1613131464613131313519 输出:(game.out) Sedgewick Parberry Gonzalez Polya Motwani Moret

限制:

50%的数据得分长度在0~10之间,1

安徽 芜湖 2010.4.27 5


2010安徽省信息学竞赛试题(小学组).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:数控车工中级试题一(400)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: