2014年慈溪市小学生计算机程序设计竞赛复赛试题

  • 格式:pdf
  • 大小:586.81 KB
  • 文档页数:8

下载文档原格式

  / 8
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2014年慈溪市小学生计算机程序设计比赛

复赛试题

比赛时间:2014年12月28日上午8:30—10:30

题目概览

注意事项

1.选手比赛时,都应在E盘的根目录下建立自己的比赛文件夹,该文件夹的名称为考生的考号。同时需在比赛文件夹内为每题建立对应的题目目录(名称与题目名称相同,严格区分大小写)。例如:假设题目有cashier、dune、manhattan三题。参赛号为cx08的选手,其最终提交的文件为cashier. pas、dune.pas、manhattan. pas,则该选手应提交的目录结构如下所示:

E|---cx08

|---cashier/

| |---cashier. pas

|--- dune/

| |--- dune.pas

|---manhattan/

|---manhattan. pas

2. 选手根据题目要求,将自己提交的源文件,放在该题的题目目录下(只需递交源文件,评测时以源文件为准,不测可执行程序,收卷时只复制E盘比赛文件夹,凡放错位置的文件或以书面形式提交的答卷一律视作无效);

3. 比赛中涉及的所有文件名(包括源程序名、输入文件名、输出文件名、答案文件名),都必须严格按照题目要求命名,严格区分大小写。例如:题目要求输入文件名为game.in,则程序中必须按照该名字打开文件,不能使用Game.in、GAME.IN等名字;

4. 程序中必须采用文件读写的方法来实现数据的输入和结果的输出,即程序运行时所需输入数据应从题中指定的输入文件中读取(而不得采用键盘输入的方式),程序运行的结果应写入到题中指定的文件中(而不是输出到屏幕上);

5. 用于提供输入数据和记录输出结果的文件的名称都已在题中具体规定,选手程序在调用它们时不得为其指定任何特别的路径;

6. 输出文件的格式应该严格符合题目的要求,例如:不得有多余的空格等字符;一行结束,应跟有回车换行符;

7.如遇机器故障,一律请监考老师处理,比赛中途及结束时都不得自行关机或重启机器,否则后果自负。

1.扑克牌游戏(card.pas)

【问题描述】

聪聪和明明两位小朋友正在玩一个扑克牌游戏。每一副扑克牌有黑桃、红桃、草花、方块四种花色,每种花色有13张牌,牌值分别是Ace、2、3、4、5、6、7、8、9、10、Jack、Queen、King,如下图所示:

每一轮出牌,聪聪首先拿出一张牌,然后明明也拿出一张牌,当明明拿出的牌与聪聪拿出的牌花色相同且牌值比聪聪的大

............时,明明才能获得本轮出牌的胜利,否则聪聪胜利。这里我们假定牌值的大小关系为:

2<3<4<5<6<7<8<9<10

请编程计算某一轮出牌中,当聪聪拿出一张牌后,明明有多少种出牌方案可以获得胜

利,并输出牌值最小

..的出牌方案。

【输入数据】

输入文件card.in:输入从文件中读取,输入共N+2行。

第1行是表示聪聪的出牌信息,首先是一个代表花色的小写字母,然后是一个代表牌值的整数,中间用一个空格分隔。

第2行一个整数N(1≤N≤100),表示明明现在手上牌的数量。

接下来N行,每行表示明明手中一张牌的信息,首先是一个代表花色的小写字母,然

后是一个代表牌值的整数,中间用一个空格分隔。注意,他们玩的游戏有多副牌

...,所以有些牌可能重复。

说明:表示花色的小写字母为“s”、“h”、“c”、“d”,分别表示黑桃、红桃、草花、方块。表示牌值的整数为1到13,其中1表示Ace,11表示Jack,12表示Queen,13表示King。

【输出数据】

输出文件card.out:结果输出到文件中,输出共2行。

第1行输出明明要想获得胜利有多少种出牌方案。花色和牌值都相同的出牌方案算作一种。如果明明没有可以获胜的出牌方案,则输出“0”,此时第2行不需要输出。

第2行输出明明要想获得胜利可以出的牌中牌值最小

....的那张牌的信息,包括牌的花色和牌值,中间用一个空格分隔。花色用小写字母“s”、“h”、“c”、“d”分别表示黑桃、红桃、草花、方块,牌值用Ace、2、3、4、5、6、7、8、9、10、Jack、Queen、King分别表示1到13。

【输入输出样例1】

聪聪本轮出的牌位为红心Jack。明明有4张牌,分别为草花Ace,红心Queen,红心10和黑桃Queen。明明要想获得胜利,出的牌花色必须和聪聪相同且牌值比聪聪的大,所以只有1种出牌方案,为红心Queen。

聪聪本轮出的牌为红心5,明明有6张牌,分别为黑桃Ace、红心Ace、草花10、红心7、红心Queen和红心7。明明要想获得胜利,出的牌花色必须和聪聪相同且牌值比聪聪的大,所以有3种出牌方案,为红心Ace、红心Queen和红心7,其中红心7明明有2张牌,

7。

但只算一种方案。牌值最小的出牌方案为红心

聪聪本轮出的牌为红心Ace,明明手上现在有4张牌,分别为黑桃Ace、红心Ace、草花10、红心King。明明要想获得胜利,出的牌花色必须和聪聪相同且牌值比聪聪的大,但明明手上没有这样的牌,所以输出0,此时第2行不需要输出。

【数据范围约定】

所有的输入数据保证1≤N≤100。

2.换位置游戏(move.pas)

【问题描述】

N个小朋友(编号为1到N)正在玩一个换位置游戏。从左到右依次排列着N个凳子(编号为1到N,最左边的为1号凳子,最右边的为N号凳子),每个凳子上都有一个数字(凳脚处红色数字),每个数字互不相同,且都是不超过N的正整数。

游戏开始前,1号小朋友坐在1号凳子上,2号小朋友坐在2号凳子上,然后依次下去,N号小朋友坐在N号凳子上。比如当N=4时,游戏开始前小朋友们坐凳子的状态如下图1所示:

图1 游戏开始前4位小朋友坐凳子的状态

坐定后,游戏开始。每位小朋友看一下自己坐的凳子凳脚处的数字,然后根据这个数字找到相应号码的凳子。比如上面的例子,1号小朋友凳脚处数字是3,所以他到3号凳子上坐下,2号小朋友凳脚处数字是1,所以他到1号凳子坐下,3号小朋友凳脚处数字是2,所以他到2号凳子坐下,4号小朋友凳脚处数字是4,所以他到4号凳子坐下。经过一轮换位置以后,4个小朋友坐凳子的状态如下图2所示:

图2 经过第1轮换位置后小朋友们坐凳子的状态

坐定后,每位小朋友再看一下自己凳脚的数字,按照凳脚的数字再继续换位置,第二轮换位置的结果如下图3所示:

图3 经过第2轮换位置后小朋友们坐凳子的状态