|
说明:1.程序采用黑箱测试,请选手务必按题目中要求的程序名、文件名书写上缴;
2.程序中不宜使用CRT单元;
3.每位选手附上一份用记事本写的个人档案,文件名取为NAME.TXT,档案格式如下(必须按格式书写):
姓名:具体名字
性别:男或女
地点:所在的省、市、地区
学校:所在的学校
年级:所在的年级
指导教师:指导教师的名字
EMAIL:指导教师的EMAIL地址或本人E-mail
发送答卷时请在邮件主题请写选手的中文姓名和学校名。
例如:陈 平 广东信阳中学。
3月29日在曙光网公布竞赛结果与参考程序和测试数据
4.收答卷及个人档案邮件地址为:sgoi@fzyz.net;
试题1. 序列问题(程序文件名:Seguence.pas)
问题描述:序列a(1),a(2),…,a(n)。对于i>1,a(i)是满足下面2个性质的最小正整数:
(1) a(i) > a(i-1);
(2) a(i) 的各位数字的和与K×a(i-1)的各位数字的和相等。
例如,a1=1,k=2,n=6时,该序列的前6个元素是1,2,4,8,16,23。
编程任务:给定a1,k,n的值,计算该序列的第n项a(n)的值。
数据输入:输入数据由文件名为INPUT.TXT的文本文件提供。文件内容为一行,有3个整数a1,k,n(0<k,n<300000)。
结果输出:将序列的第n项a(n)输出到OUTPUT.TXT文件中。
输入文件示例 输出文件示例
1 2 6 23
试题2. 电子表格计算器(程序文件名:Excel.pas)
问题描述:一个电子表格是一个矩阵,其中的元素可以是数也可以是表达式,表达式可以通过赋值而成为数。一个简单的电子表格,其中的数是整数,表达式是由不同的整数、元素的标示符及'+','-'组成。对任一个表达式,若要求用数表示,则可用赋值以后的数值代替。
编程任务:对简单的电子表格进行赋值。
数据输入:输入数据由文件名为INPUT.TXT的文本文件提供。
第一行由2个数据N、M,表示矩阵由N行、M列组成
列的标示从大写字母A到T,行的标示从阿拉伯数字1到255,如:第一列第一行的元素用A1表示,第20列第五行的元素用T5表示。
接下来的N行每行有M个元素,每一个元素包含一个有符号的整数或一个表达式,表达式中不能有空格。
数据输出:对每一个输入的电子表格,你必须求出每一个表达式的值。若元素包含循环的表达式,则在输出中应在这些单元打印"ERROR"(不能使用小写)。将求值后的电子表格输出到文件OUTPUT.TXT中。
输入文件示例 输出文件示例

试题3. 无线电测向(程序文件名:Position.pas)
问题描述:一艘有天线定位装置的船能通过接收当地灯塔信号来确定自己的位置。每个灯塔固定在已知点上并发出特有的信号。当船检测到信号,它可通过旋转天线直到信号达到最大强度。这样就可确定自身与该灯塔的位置关系。只要接收到两个灯塔的信息,就有可能确定船当前的位置。
编程任务:通过一对灯塔信息来确定船的位置。
灯塔和船的位置被确定在一个直角坐标系内。X轴正向指向东,Y轴正向指向北。船的航行路线从正北开始按顺时针用度表示。因此,北是0°,东是90°,南是180°,西是270°。灯塔与船的位置关系用相对于船的航行方向顺时针用度表示。
数据输入:输入数据由文件名为INPUT.TXT的文本文件提供。文件的第一行是一个整数,表示灯塔的数目N(N<=30)。以下N行,每行表示一个灯塔,为灯塔名称(名称是20个以下的字母),X坐标和Y坐标。它们都用空格隔开。
灯塔信息下面是船的信息包括三行,一行是船的方向,其余两行是所接收到的灯塔信号。
具体如下:
输入数据 数据的含义
方向 船的航行方向;
名称1 角度1 第一个灯塔信息的名称,灯塔的方位;
名称2 角度2 第二个灯塔信息的名称,灯塔的方位。
灯塔的方位为船与灯塔所在的直线与船的航行方向的夹角(从船的航行方向开始顺时针,角度1=角度1+180)。2个数据用空格隔开。
数据输出:将船的位置(精确到2位小数)。输出到OUTPUT.TXT文件中。如果无法确定船的位置,应输出"NO
ANSWER"(不能使用小写)。
输入文件示例 输出文件示例
160.83
123.41
试题4. 皇宫看守(程序文件名:Guard.pas)
问题描述:太平王世子事件后,陆小凤成了皇上特聘的御前一品侍卫。
皇宫以午门为起点,直到后宫嫔妃们的寝宫,呈一棵树的形状;某些宫殿间可以互相望见。大内保卫森严,三步一岗,五步一哨,每个宫殿都要有人全天候看守,在不同的宫殿安排看守所需的费用不同。
可是陆小凤手上的经费不足,无论如何也没法在每个宫殿都安置留守侍卫。
编程任务:帮助陆小凤布置侍卫,在看守全部宫殿的前提下,使得花费的经费最少。
数据输入:输入数据由文件名为INPUT.TXT的文本文件提供。输入文件中数据表示一棵树,描述如下:
第1行 n,表示树中结点的数目。
第2行至第n+1行,每行描述每个宫殿结点信息,依次为:该宫殿结点标号i(0<i<=n),在该宫殿安置侍卫所需的经费k,该边的儿子数m,接下来m个数,分别是这个节点的m个儿子的标号r1,r2,...,rm。
对于一个n(0 < n <= 1500)个结点的树,结点标号在1到n之间,且标号不重复。
数据输出:输出到OUTPUT.TXT文件中。输出文件仅包含一个数,为所求的最少的经费。
如左图的输入数据示例
输出数据示例
25
五. 最佳派对(程序文件名:Partner.pas)
问题描述:国际学生夏令营在北京举行,经过一段时间的活动与交流,同学们逐渐相互了解。组委会决定举行一项派对表演活动,每对由一名中国学生与外国学生组成,要求每对的2位同学在表演技能和语言上能互相配合。在众多的同学中,每一位外国同学都可以与其他若干个中国同学很好地配合。如何选择派对,使得能选出最多的派对。
编程任务:对于给定的外国同学与中国同学的配合情况,编程找出一个最佳派对方案,使得能选出最多的派对。
数据输入:输入数据由文件名为INPUT.TXT的文本文件提供。
第1行的2个数是n和e。n是中国同学(n<100);e是同学们的配合数。
接下来e行中,每行有2个正整数i和j,表示外国同学i可以和中国同学j配合。
结果输出: 将求得的最多的派对数目M输出到文件名为OUTPUT.TXT的文本文件中。
如果所求的最佳派对方案不存在,则在输出文件写入'NO SOLUTION'。
输入文件示例 输出文件示例
5 10 5
1 2
1 3
1 4
1 5
2 3
2 4
2 5
3 1
4 2
5 3
|