2010年长沙市计算机奥林匹克竞赛决赛试题
(时间:120分钟)
一、救援时刻(100分 存盘程序名:T1)
华华参加了玉树地震的某次救援行动,救援开始时刻为hs时ms分,救援过程共用了h小时m分钟(不超过7天的时间)。请计算出完成求援那天的时间(以24小时制表示)。 输入:hs ms h m
输出:ht:mt(表示完成救援那天的时间)
例如:输入:11 20 36 40 (表示11:20开始教授,共用了36小时40分钟) 输出:0:0
二、号码分类(100分 存盘程序名:T2)
华华有来自长株潭的n个朋友,现在要将他们的电话号码按长沙、湘潭、株洲的顺序分类输出,地区的号码则按原序输出。
(注:电话号码的第一位:长沙为8,湘潭为5,株洲为2)。 输入:n(朋友人数n<=100)
N个八位数电话号码(以空格相隔)
输出:Changsha:长沙朋友的电话号码(以空格相隔,基没有长沙的,则空着) Xiangtan:湘潭朋友的电话号码(以空格相隔,基没有长沙的,则空着) Zhuzhou:株洲朋友的电话号码(以空格相隔,基没有长沙的,则空着) 例如:输入:3
85552088 22826558 82222205 输出:Changsha:85552088 82222205 Xiangtan:
Zhuzhou:22826558
三、压缩密文(100分 存盘程序名:T3) 华华接到任务:要对一个仅有英文字母的密文进行压给它处理,将其中连续的重复字母压缩成“一个字母+个数”的形式。例如:AaaaaaaaAaaBbBaAC应压缩成a11b3a2c。但是华华拿到的密码已经被别人处理过,密文没有完全压缩好,处理起来反而更麻烦。如上例密文可能已变成Aa10b2BaAC。请编程帮华华完成任务。 输入:华华拿到的密文字串(串长度<=100,串中所有重复个数之和<=1000) 输出:完成处理的密文字串(其中的字母全部小写) 例如:输入:Aa10b2BaAC 输出:a11b3a2c
四、游览世博(100分 存盘程序名:T4)
华华准备去上海世博会游览,但展馆太多,而时间有限,因此他只能选择游览一部分展馆。在世博园区,假设华华想去的所有展馆都在一条直道上,展馆只有大、小两类,参观小展馆需30分钟,参观大展馆要60分钟。已知:从起到到各展馆的时间及展錧大小。请问:华华最多能够参观多少个展錧。 输入:n s(展錧个数n<=100,浏览时间s为整数分钟)
n个整数(表示从起到到各展錧所需要的时间,以空格相隔)
n个整数(表示各展馆的大小,1为小展馆,2为大展馆,以空格相隔) 输出:华华能够参观的最多展馆数 例如:输入:5 200
30 120 100 75 50 2 1 2 1 1
输出:3 (即参观1、4、5号展馆,总共用时195分钟)