1、教育部教育管理信息中心第五届全国 ITAT 教育工程就业技能大赛决赛试题Java 程序设计请考生仔细阅读并严格遵守题目中关于文件保存和命名的要求。请务必按照试卷要求为文件命名。考生答题完毕后,首先创建以“准考证号”命名的文件夹(形式如:433034683) ,并将考试结果严格按题目上的命名要求进行命名并直接保存在该文件夹下。注意:考生不得在该文件夹下创建任何子文件夹,所有考试结果均直接保存在该文件夹根目录下。然后选中整个文件夹,用 Winrar 压缩工具打包后存放在本考场指定的考试结果存放地址,经监考老师确认上传无误后方可离开考场。注意:在提交答案时,请务必选中上述存放作品的文件夹(如前面创建
2、的 433034683 文件夹,而不是文件夹下的全部文件)进行压缩,在完成答案提交后,请确保上述压缩包仍保存在本地计算机中。请务必按照试卷要求提交指定的文件,不得包含非题目要求的过程文件和临时文件,不得包含本试题文件和试题素材。注意:凡违反上述规定的考生,其成绩一律按零分处理。题目命名要求:请将编写好的源程序以 T+题号的方式命名,例如第 1 题的源程序保存为“T1.java” ) ,题目本身有命名要求的除外。1、 建造冬奥会滑雪场的空中升降轨道。从起点到终点,有若干可选的支架作为固定点,再在相邻固定点间架设导轨。假设所有可选的支架在一条轴线(x 轴)上,从起点到终点的 x 轴间隔为 1 的每
3、一点上都有一个支架,并给出支架的高度。建造要求如下:a) 选择尽可能少的支架建立固定点;b) 导轨保持平直,即固定点中间的支架不高于导轨;c) 两个相邻固定点之间,沿 x 轴距离不能超过给定的 K;d) 第一个(起点)和最后一个(终点)一定是固定点。测试数据文件说明:输入文件 skilift.in 的内容: 第一行是 N 和 K,N 和 K 之间以空格分开,2=N=5000,1=K=N-1。 接下来 N 行,按顺序是支架的高度 h,0=h=1000000000。 输出文件 skilift.out 的内容: 一个整数,表示最少要选择几个固定点,以及选择的固定点序列号。 样例: 输入文件: 13
4、40 1 0 2 4 6 8 6 8 8 9 11 12 输出文件: 6 - 1、5、7、10、12、13如下图所示,至少需要 6 个固定点,选择第 1、5、7、10、12、13 个支架作为固定点。(1)请根据以上要求设计最佳算法,并加以说明;(2)编程实现算法,并以样例文件进行测试,输出结果;(3)按照下面给定的三个测试数据进行测试,并输出结果。测试数据一:N=20,K=3N 行数据(,作为换行提示符):0,2,1,3,5,7,4,5,3,8,10,12,11,13,14,15,12,9,20,22测试数据二:N=18,K=5N 行数据(,作为换行提示符):0,2,1,3,7,6,2,8,1
5、0,9,11,12,15,7,4,5,19,21测试数据三:N=30,K=4N 行数据(,作为换行提示符):0,1,3,5,4,2,3,5,7,8,10,9,12,15,21,20,23,25,22,27,28,29,27,30,22,31,35,36,35,39(本题 60 分,要求 1 占 20 分,要求 2 占 10 分,要求 3 占 30 分)2、 设有 n 个球队要进行排球循环赛,设计一个满足以下要求的比赛日程表:a) 每个球队必须与其他 n-1 个球队各赛一次;b) 每个球队一天只能赛一次;c) 当 n 是偶数时,循环赛进行 n-1 天。当 n 是奇数时,循环赛进行 n 天。n=6
6、 的比赛日程表示例(把 6 个队从 1 到 6 进行编号):n=6 的比赛日程表第一天 第二天 第三天 第四天 第五天12 13 14 15 1635 24 25 26 2346 56 36 34 45n=5 的比赛日程表示例(增加编号 0,凡碰 0 者该天即轮空):n=5 的比赛日程表第一天 第二天 第三天 第四天 第五天10 15 14 13 1225 04 53 42 3034 23 02 50 45(1)请根据以上要求分析问题,设计算法,并加以说明;(2)编程实现算法,并以 n=10 和 n=15 进行测试,输出结果;(3)分析算法的时间复杂度。(本题共 60 分,要求 1 占 20 分,要求 2 占 30 分,要求 3 占 10 分)