网站大量收购独家精品文档,联系QQ:2885784924

2010年青少年信息学竞赛复赛题.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2010年青少年信息学竞赛复赛题

2010年青少年信息学奥林匹克竞赛试题 注意事项: 本卷全部采用文件进行输入、输出。请严格使用题目所规定的文件名,输入、输出格式必须按要求设置,否则将不能得分。(同一行输出多个数时,两数之间要用空格隔开,空格个数不限) 考试结束前,要将最完善的源程序及其EXE文件集中保存到以选手命名的文件夹中。 jump.pas puzzles.pas 输入文件名 food.in jump.in puzzles.in 输出文件名 food.out jump.out puzzles.out 分值 100 100 100 第一题 旅游食品 (food.pas/.c/.cpp) 【问题描叙】 元旦到了,迎江小学要组织小学生外出旅游。江江妈给了江江s元钱,为了保证营养,她要求江江在n种食品(牛奶、苹果、矿泉水、蜜饯、鸡蛋、面包等)中必须每样买一份来充当中餐和点心(如果n种食品的价格分别用a[1]、a[2]、……a[n]保存,则肯定有sa[1]+a[2]+a[3]+……+a[n]),剩余的钱由江江自由花费。 江江是一位很热心的学生,他想用剩余的钱全部用来购买这些食品中价格最便宜的那种,然后他打算把这些食品分给其他同学吃。 例如,现在妈妈给江江20元钱,妈妈要江江在矿泉水、蜜饯、牛奶、鸡蛋、苹果、面包(价格分别为1、1、3、2、1、4元)每样都必须购买一份,这样江江剩余的钱就是20-12=8元,江江就会把这剩余的8元全部用来购买矿泉水、苹果或者蜜饯(每样价格都是最低的1元),共可购买8份最便宜的食品,这样,加上江江原来购买的打算自己当作中餐和点心的6份食品,他就拥有了共14份食品。 程序中首先输入江江充当中餐和点心的食品数量和妈妈给江江的总款(用n和s表示,s必定小于100),然后会输入每种食品的价格,最后会输出江江手中拥有的所有食品的总的份数。 【样例输入】 6 20 1 1 3 2 1 4 【样例输出】 14 【数据范围】 0n≤100;sa[1]+a[2]+a[3]+……+a[n] 第二题 跳棋数 (jump.pas/.c/.cpp) 【问题描叙】 跳棋是大家都熟悉的棋类活动,就是一颗棋子可以通过相邻的另一颗棋子笔直地跳到另一颗棋子相邻的空位上去。在一串很长的由数字组成的字符串中,如果某个位数为k的数值和间隔k个位置后面的位数为k的数值相等,就称为跳棋数。 比如对于字符串131313,如果规定k为1,则三个1构成了跳棋数,从第一个1开始开始跳,最多可以跳2步;从第二个位数为k的数值3开始,也构成了跳棋数,最多也可以跳2步。又如,1223122312341223,如果规定k为2,则从字符串的第一个k位数值“12”开始,组成的跳棋数的最多可以跳的步数是3(每步到达的目的地如上面下划线“__”所示),而第二个k位数值“23”开始的跳棋数最多可以跳的步数是1(每步到达的目的地如上面下划线“ ”所示)。也就是说,如果规定了k,则作为“棋子”的数值就是k位,而每次“跳棋”时必须跳过右面相邻的k个位置。 下列程序先从键盘输入k的值,然后会输入一个由数字组成的字符串(只包含0、1、…、9这些数字),而且规定,这个字符串的长度肯定是2*k的倍数。通过处理,程序最后能输出二个整数,分别表示字符串中第一个位数为k的数值开始的跳棋数最多能跳的步数和第二个位数为k的数值开始的跳棋数最多能跳的步数。 【样例输入】 3 123234123234123235123234 【样例输出】 1 【数据范围】 0k≤100;字符串长度不超过1000000; 第三题 华容道 (puzzles.pas/.c/.cpp) 【问题描叙】 华容道是取材于我国三国演义的一种小游戏,小江是一个编程爱好者,他就利用课余时间编写了一个华容道的游戏程序。当然小江的华容道和现实的华容道游戏又有一些区别,小江的华容道游戏是这样设计的: 华容道由5×5的底板和24个大小一样的小正方形板组成。在每一个小正方形板上印有一个不同的字母(A到X)。24个方板放入底板后,底板上还有一个空位。如果一个小方板紧挨着空位,则可以将其移动至空位。 按照这个游戏设计思想,小江开始编写程序,使得程序能根据输入的初始局面(各个小正方形板在华容道中的位置排列)和移动序列之后,输出华容道的最终局面。 问题是小江编写了程序后发现程序不能正确执行,根据他的经验,他觉得错误肯定发生在其中的6个地方(下面程序中标有数字的空格处),于是小江来向你这个编程高手请教,请你告诉小江这6个空格处正确的内容应该是什么。 程序一开始会让使用者输入华容道的初始局面和移动序列,前面5行5列组成华容道的初识局面,第6行表示移动序列。下面就是某个使用者的输入信息(第3行第2个位置是

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档