宁波市第27届中小学生计算机程序设计竞赛复赛试题(小学组)

  • 格式:docx
  • 大小:24.37 KB
  • 文档页数:9

下载文档原格式

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

宁波市第27届中小学生计算机程序设计竞赛

复赛试题(小学组)

题目一览

一.关于使用Pascal语言与编译结果的说明

1.对于Pascal语言的程序,当使用IDE和fpc编译结果不一致时,以fpc的编译结果为准。

2.允许使用数学库(usesmath子句),以及ansistring。但不允许使用编译开关(最后测试时pascal的范围检查开关默认关闭:{$R-,Q-,S-}),也不支持与优化相关的选项。

3.本次比赛允许使用64位整数类型:int64或qword。

傻瓜电梯(dianti)

题目描述

所谓傻瓜电梯指的是在响应用户请求时缺乏相应的“智商”,在上升或下降的过程中不能把中途的乘客捎带入电梯,而只会严格按照用户发出请求的先后顺序依次完成任务。

比如,原来电梯在1楼,首先6楼有一位乘客发出请求,要求由6楼乘坐到10楼去,此时电梯马上会上去,但在电梯上升到3楼时,另外一位乘客请求由5楼乘坐到8楼去,傻瓜电梯却不会在上升途中把5楼的乘客捎带上去,而只会先把6楼的乘客送到10楼,然后再下来把5搂的乘客送到8楼。

傻瓜电梯由i楼上升到i+1楼(或下降到i-1楼)的时间都是3秒,每到达一个楼层,不管进出乘客有多少,也不管乘客只有进、只有出或者进出电梯都有,所耽搁的时间都是6秒。

现在味味要根据傻瓜电梯接受到的n个用户请求,编程计算傻瓜电梯把所有乘客送到目标楼层时总共所需要的时间。

如果某批乘客到达目标楼层后,电梯没有马上要响应的请求,则电梯在前一批乘客的目的地等待,这个等待时间也需计入总花费时间。直到下一批乘客发出新请求,电梯才会从当前位置出发,前往下一批乘客的出发楼层。

输入

输入文件dianti.in第一行包含两个整数x(1<=x<=100)和n(1<=n<=100)分别表示傻瓜电梯开始所在的楼层和总共接收到的请求数目。下面有n行,每行包含3个整数,依次表示该请求发出的时间、乘客目前所在的楼层和将要去的目标楼层。其中请求发出的时间以秒为时刻单位,最大可能的值是2000。如果某两个请求的发出时间相同,则按照输入文件中原始的先后顺序依次处理。

输出

输出文件dianti.out只包含一行一个整数,表示傻瓜电梯把所有乘客送到目标楼层后总共所需要的时间(从得到第一条请求时开始计算时间,)单位是秒。

样例输入

样例输出

提示

【样例1解释】

第一批乘客发出请求到离开电梯所需时间:3*2+6+3*11+6=51从前一批乘客离开电梯到第二批乘客离开电梯所需时间:

3*6+6+3*4+6=42第三批乘客从出发地出发到离开电梯所需时间:

3*8+6=30(由于出发地与前一批乘客目的地相同,所以上下客时间不必再加6)从前一批乘客离开电梯到第四批乘客离开电梯所需时间:3+6+3*8+6=39总花费时间:51+42+30+39=162

2.数字替换(change)

题目描述

味味很喜欢玩一个数字替换的游戏,数字替换游戏是这样的:给出一个n位正整数a,然后再给你一个长度为m的数字序列b,味味可以用b中的一些数字与a中各个位置上的数字进行一对一的交换(当然也可以选择不交换)。当然b中的每个位置上的数字最多只能被使用一次。

这个游戏的目的是经过一系列替换后,使a的数值达到最大。

味味很聪明,在位数不多的情况下,总能快速的求出最后a的最大数值,但是当n很大时,味味就无能为力了,所以她希望会写程序的你帮助她快速的求解a最后能到达的那个最大值。

输入

输入文件change.in共包含三行。第一行两个用空格隔开的正整数n,m。第二行一个正整数a(a的最高位必定不是0)。第三行一个长度为m的数字序列b。

输出

输出文件change.out仅包含一行一个数值,表示a最大可能达到的数值(输出不能含前

导0)。

样例输入

样例输出

1124

提示

【输入输出样例1解释】

b中的一个1和a中的第二位上的0进行交换。

【数据范围】

对于20%的数据1W n,m W10

对于50%的数据1W n,m W

2000对于100%的数据1W n,m

W100000

3.取珠子(pearl)

题目描述

味味妈妈有一串珠子串成的项链,这个项链中的珠子最多有3种颜色(红、蓝、白,分别用r、b、w表示)。某天,味味想从妈妈项链中取出一些珠子来玩,妈妈虽然答应了,但提出了以下条件:

(1)只能在项链中选择一个地方剪断,然后从断开的两端开始依次取出珠子;

(2)每一端取珠子时,如果珠子颜色与该端第一颗珠子颜色相同则可以连续

取下去,

直到出现一颗与该端第一颗颜色不同的珠子。如果遇到白色珠子则可根据需要看做蓝色或者红色。

b w।

b—2

b

图-2

味味对于颜色并没有特殊要求,但她想得到尽可能多的珠子。

为方便表示,我们给项链中的珠子按顺时针方向编号,如图-1和图-2所示为两种可能的项链情况(珠子都有11颗)。

对于图-1来说,如果在1和2号珠子之间剪断,则味味可以取到共2颗珠子。而如果在6和7号珠子之间剪断,则味味可以取到共5颗珠子(左边取3颗红色r,右边取

2颗

蓝色b)而5颗珠子也是味味从这串项链中最多可以取到的珠子数量。

对于图-2中的项链来说,如果在1和2号珠子之间剪断,则共可取走4颗珠子

(将1

号珠子当做蓝色,这样左边可取3颗,右边可取1颗蓝色b。而如果在2和3号之间剪断,则共可取走6颗珠子(将1号珠子当做蓝色,这样左边可取4颗蓝色b,右边可取2颗红色r)。