全国ITAT教育工程就业技能大赛的试题解析
2012-10-11 16:04
197 查看
1、 建造冬奥会滑雪场的空中升降轨道。从起点到终点,有若干可选的支架作为固定点,再在相邻固定点间架设导轨。假设所有可选的支架在一条轴线(x轴)上,从起点到终点的x轴间隔为1的每一点上都有一个支架,并给出支架的高度。建造要求如下:
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
0
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=3
N行数据(,作为换行提示符):
0,2,1,3,5,7,4,5,3,8,10,12,11,13,14,15,12,9,20,22
测试数据二:
N=18,K=5
N行数据(,作为换行提示符):
0,2,1,3,7,6,2,8,10,9,11,12,15,7,4,5,19,21
测试数据三:
N=30,K=4
N行数据(,作为换行提示符):
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个队从1到6进行编号):
n=6的比赛日程表
n=5的比赛日程表示例(增加编号0,凡碰0者该天即轮空):
n=5的比赛日程表
(1)请根据以上要求分析问题,设计算法,并加以说明;
(2)编程实现算法,并以n=10和n=15进行测试,输出结果;
(3)分析算法的时间复杂度。
(本题共60分,要求1占20分,要求2占30分,要求3占10分)
题目命名要求:请将编写好的源程序以T+题号的方式命名,例如第1题的源程序保存为“T1.java” )。
1、 某企业在未来的12个月要研究一种新产品,新产品的研制需要四个阶段,每个阶段都可用慢、正常、快等三种速度进行,时间和成本如下表所列。
说明:单位(月/万元),时间按月,成本按万元为单位。
例如:5/5代表5个月,5万元;4/7代表4个月,7万元。
该企业准备在12个月内花费最少的费用就可以有新产品。
(1)请给出最佳方法或算法。
(2)编程实现最佳算法。
(3)达到同一目标的次佳方法或算法是什么?
(本题60分,要求1占20分,要求2占30分,要求3占10分)
2、 有三个白子和三个黑子如下图布置:
用最少的步数将上图中白子和黑子的位置进行交换:
规则是:
(1)一次只能移动一个棋子;
(2)棋子可以向空格中移动,也可以跳过一个对方的棋子进入空格,但不能向后跳,也不能跳过两个子。
(本题共60分,要求1占30分,要求2占30分)
要求:
(1)分析问题,找出规律,总结出规则和算法,并描述你的算法设计思想。
(2)编程显示每一步交换过程。
1、 编写一个Java应用程序,对于给定的一个字符串的集合,格式如:
{aaa bbb ccc}, {bbb ddd},{eee fff},{ggg},{ddd hhh}
要求将其中交集不为空的集合合并,要求合并完成后的集合之间无交集,例如上例应输出:
{aaa bbb ccc ddd hhh},{eee fff}, {ggg}
请将制作好的源文件保存为“t1.java”。(本题60分,要求1占20分,要求2占35分,要求3占5分)
(1)分析问题,描述你解决这个问题的思路、处理流程,以及算法复杂度。
(2)编程实现题目要求的集合合并。
(3)描述可能的改进(改进的方向如效果,算法复杂度,性能等等)。
2、 在下图中的九个点上,空出中间的点,其余的点上任意填入数字1至8;1的位置保持不动,然后移动其余的数字,使1到8顺时针从小到大排列。移动的规则是:只能将数字沿线移向空白的点。请将制作好的源文件保存为“t2.java”。(本题共60分,要求1占20分,要求2占40分)
要求:
(1)分析问题,并描述你的算法设计思想。
(2)编程显示数字移动过程。
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
0
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=3
N行数据(,作为换行提示符):
0,2,1,3,5,7,4,5,3,8,10,12,11,13,14,15,12,9,20,22
测试数据二:
N=18,K=5
N行数据(,作为换行提示符):
0,2,1,3,7,6,2,8,10,9,11,12,15,7,4,5,19,21
测试数据三:
N=30,K=4
N行数据(,作为换行提示符):
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个队从1到6进行编号):
n=6的比赛日程表
第一天 | 第二天 | 第三天 | 第四天 | 第五天 |
1~2 | 1~3 | 1~4 | 1~5 | 1~6 |
3~5 | 2~4 | 2~5 | 2~6 | 2~3 |
4~6 | 5~6 | 3~6 | 3~4 | 4~5 |
n=5的比赛日程表
第一天 | 第二天 | 第三天 | 第四天 | 第五天 |
1~0 | 1~5 | 1~4 | 1~3 | 1~2 |
2~5 | 0~4 | 5~3 | 4~2 | 3~0 |
3~4 | 2~3 | 0~2 | 5~0 | 4~5 |
(2)编程实现算法,并以n=10和n=15进行测试,输出结果;
(3)分析算法的时间复杂度。
(本题共60分,要求1占20分,要求2占30分,要求3占10分)
题目命名要求:请将编写好的源程序以T+题号的方式命名,例如第1题的源程序保存为“T1.java” )。
1、 某企业在未来的12个月要研究一种新产品,新产品的研制需要四个阶段,每个阶段都可用慢、正常、快等三种速度进行,时间和成本如下表所列。
理论研究 | 试验阶段 | 政府批准 | 销售 | |
慢 | 5/5 | 3/6 | 6/1 | 5/8 |
正常 | 4/7 | 2/8 | 4/1 | 4/10 |
快 | 2/10 | 1/12 | 2/3 | 3/15 |
例如:5/5代表5个月,5万元;4/7代表4个月,7万元。
该企业准备在12个月内花费最少的费用就可以有新产品。
(1)请给出最佳方法或算法。
(2)编程实现最佳算法。
(3)达到同一目标的次佳方法或算法是什么?
(本题60分,要求1占20分,要求2占30分,要求3占10分)
2、 有三个白子和三个黑子如下图布置:
○ | ○ | ○ | ● | ● | ● |
● | ● | ● | ○ | ○ | ○ |
(1)一次只能移动一个棋子;
(2)棋子可以向空格中移动,也可以跳过一个对方的棋子进入空格,但不能向后跳,也不能跳过两个子。
(本题共60分,要求1占30分,要求2占30分)
要求:
(1)分析问题,找出规律,总结出规则和算法,并描述你的算法设计思想。
(2)编程显示每一步交换过程。
1、 编写一个Java应用程序,对于给定的一个字符串的集合,格式如:
{aaa bbb ccc}, {bbb ddd},{eee fff},{ggg},{ddd hhh}
要求将其中交集不为空的集合合并,要求合并完成后的集合之间无交集,例如上例应输出:
{aaa bbb ccc ddd hhh},{eee fff}, {ggg}
请将制作好的源文件保存为“t1.java”。(本题60分,要求1占20分,要求2占35分,要求3占5分)
(1)分析问题,描述你解决这个问题的思路、处理流程,以及算法复杂度。
(2)编程实现题目要求的集合合并。
(3)描述可能的改进(改进的方向如效果,算法复杂度,性能等等)。
2、 在下图中的九个点上,空出中间的点,其余的点上任意填入数字1至8;1的位置保持不动,然后移动其余的数字,使1到8顺时针从小到大排列。移动的规则是:只能将数字沿线移向空白的点。请将制作好的源文件保存为“t2.java”。(本题共60分,要求1占20分,要求2占40分)
要求:
(1)分析问题,并描述你的算法设计思想。
(2)编程显示数字移动过程。
相关文章推荐
- SAT数学经典试题及解析
- OCP试题解析之053-16 MEMORY_TARGET
- OCP试题解析之053-61 RMAN set command id to
- 2005年第29届ACM ICPC世界总决赛的试题解析
- 网络工程师考试2005年上半年上午试题解析(五)
- 网络工程师考试2006年上半年上午试题解析(二)
- [置顶] 2017跟着小虎玩着去软考--项目管理师上午考试试题之一(解析2016下半年项目管理师上午试题1-5题)
- 360公司2015年秋季校园招聘笔试考卷(技术类 D)部分试题程序验证和解析5
- 网络工程师考试2008年上半年下午试题解析(一)
- 2009年5月数据库系统工程师考前预测试题及考点解析 推荐
- 2017跟着小虎玩着去软考--趣味好玩解析2015年下半年信息系统项目管理师上午试题21-25题
- 2009年5月软件设计师考试试题解析全国首发
- 2012年华为校园招聘上机试题(重庆地区)及答案解析
- SUN认证Java2程序员考试(SCJP)试题解析-Java基础-Java-编程开发
- 歪理邪说解析架构设计师上午考试试题之一(分析2010下半年系统架构设计师上午试题01-05题)
- 2011Alibaba数据分析师(实习)试题解析
- CCNP SWITCh(642-813)选择试题答案解析中文版:1-15题
- 2011Alibaba数据分析师(实习)试题解析
- 网络工程师考试2006年上半年上午试题解析(三)
- 网络工程师考试2007年上半年上午试题解析(一)