- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
部分题目比较难,大家要有决心,想办法都搞定它们。开学后将源代码交给我看看。
题目命名要求:请将编写好的源程序以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)编程显示每一步交换过程。
3. 建造冬奥会滑雪场的空中升降轨道。从起点到终点,有若干可选的支架作为固定点,再在相邻固定点间架设导轨。假设所有可选的支架在一条轴线(x轴)上,从起点到终点的x轴间隔为1的每一点上都有一个支架,并给出支架的高度。建造要求如下:
选择尽可能少的支架建立固定点;
导轨保持平直,即固定点中间的支架不高于导轨;
两个相邻固定点之间,沿x轴距离不能超过给定的K;
第一个(起点)和最后一个(终点)一定是固定点。
测试数据文件说明:
输入文件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分)
4. 设有n个球队要进行排球循环赛,设计一个满足以下要求的比赛日程表:
每个球队必须与其他n-1个球队各赛一次;
每个球队一天只能赛一次;
当n是偶数时,循环赛进行n-1天。当n是奇数时,循环赛进行n天。
n=6的比赛日程表示例(把6个(凡碰0者该即轮空)
要求将其中交集不为空的集合合并,要求合并完成后的集合之间无交集,例如上例应输出:
{aaa bbb ccc ddd hhh},{eee fff}, {ggg}
请将制作好的源文件保存为“t1.java”。(本题60分,要求1占20分,要求2占35分,要求3占5分)
(1)分析问题,描述你解决这个问题的思路、处理流程,以及算法复杂度。
(2)编程实现题目要求的集合合并。
(3)描述可能的改进(改进的方向如效果,算法复杂度,性能等等)。
6. 在下图中的九个点上,空出中间的点,其余的点上任意填入数字1至8;1的位置保持不动,然后移动其余的数字,使1到8顺时针从小到大排列。移动的规则是:只能将数字沿线移向空白的点。请将制作好的源文件保存为“t2.java”。(本题共60分,要求1占20分,要求2占40分)
要求:
(1
文档评论(0)