- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法作业
要求:
写出解决下列问题的程序,要求界面友好。
提交的源程序命名方式: 学号末两位数字+姓名+题号.cpp,
例如学号为2012004姓名为张三丰的第2题,
提交时文件名为:04张三丰2.cpp。
只交cpp文件,不要压缩,也不要提交文件夹。
每一题请按时提交,提交时请发送到,邮件标题注明:算法作业。
题目:
循环赛问题 (分治算法,10月21前提交)
设有n个运动员要进行网球循环赛。设计一个满足以下要求的比赛日程表:
(1)每个选手必须与其他n-1个选手各赛一次
(2)每个选手一天只能赛一次
(3)当n是偶数时,循环赛进行n-1天;当n是奇数时,循环赛进行n天。
写程序输出比赛日程表。
要求:先按分治算法思想快速求解n为2的整数次幂情况,然后根据提示解决n为一般奇偶数情况。
本人程序运行截图:(与负数编号配对的选手,当天休息)
查重问题(动态规划算法,11月30日之前提交)
在一个名为“提交”的文件夹中有若干.cpp格式的源程序文件,现在要对这些源程序文件进行鉴别,如果两个源代码雷同度达到80%以上,我们视其为有抄袭嫌疑版本,并将先读入的文件视为被抄袭对象,其它文件只要与此文件有抄袭嫌疑,便将其归为一类。最后输出所有归类的结果(结果可以写到一个单独的文件中)。
提示:读取两个文件的内容可以存放在字符串X[]和Y[]中(假设其长度分别为xlen,ylen),可以计算出X与Y的最长公共子序列Z的长度(假设为zlen),可以计算两个指标zx=zlen/xlen*100%, zy=zlen/ylen*100%,例如
①zx=100%,zy=100%,可以看出X,Y是完全相同的。
②zx=99%,zy=70%,可以看出雷同部分Z占X比例为99%,占Y的比例为70%,即X的99%的部分来自于Y,而Y中有70%的部分来自于X。可以如下理解:
如果是X抄袭Y,那么就是X抄袭了Y 70%的内容,另外扩充了1/99。
如果是Y抄袭X,那么就是Y抄袭了X 99%的内容,另外扩充了3/7。
可进一步思考的选做项:
抄袭问题比上面提到的更加复杂,例如源程序中:替换标识符名称、改变函数(语句)次序、改变变量名定义次序(或改变语句内部次序)、函数(包括输入输出)参数格式、增删注释 等等。如果程序对这样的操作也能进行鉴别,那将与实用软件越来越接近。
要求:能读取指定文件夹(即“提交”)下的文件信息,并运用案例“最长公共子序列”的动态规划算法,求解上面zx,zy,并依据这两参数判断两个文件是否是雷同版本,给出指定文件夹下文件的分类。(本人程序将分类信息写入一个.txt的文件,格式如下所示)
财产分配问题(贪心+回溯算法,12月20日之前提交)
一个家庭中有n项价值分别为A[1]~A[n](设总和为Sum)的财产,现在要尽可能平均分配给k个人,假设k个人分别分得价值为V1~Vk,请设计算法给出最佳分配方案。
最佳分配方案为:优先考虑使Vmax - Vmin最小(即其分布的区间最小),其次使∑|Vi-V’|最小。其中,V’=Sum/k; Vmax, Vmin分别为V1~Vk中最大和最小值。
要求:A[ ]随机产生,n,k由键盘输入,程序分别输出几种不同算法的分配结果。
本人程序运行截图:
运行参数 n=100, k=6
算m点问题给定k个正整数,用算术运算符+ - * /”(“,”)”,将这k个正整数最终的得数恰为m。 :正整数,
本人程序运行截图:
{A为随机产生的k个整数}
不加括号版本 加括号版本
5.九宫重排问题(分支限界算法,12月31日之前提交)
3*3的棋盘中摆放了0~8这9个数字,每次只能允许0与其上下左右相邻的4个位置 进行交换,使得棋盘最终达到一种目标状态,要求输出最少交换次数的变化过程。例如
起始状态 目标状态
1 2 3 1 2 3
6 0 4 = 8 0 4
8 7 5 7 6 5
要求:依次输出棋盘从起始状态到目标状态的所有中间状态。
本人程序运行截图:
您可能关注的文档
最近下载
- 新能源汽车整车控制系统检测与维修高职PPT完整全套教学课件.pptx VIP
- 人教版一年级数学上册《比大小》课件(共38张PPT).pptx VIP
- 血管活性药物静脉输注护理---团体标准解读.pptx VIP
- 2025年全国质量月培训讲座PPT课件.pptx VIP
- 自考《文学概论》第五章-抒情作品教学课件.ppt VIP
- 北师大版九年级数学上册全册教案教学设计.pdf VIP
- 恶心与呕吐腹泻.ppt VIP
- 2025年中国学生床上用品数据监测研究报告.docx
- 1.1 地球的自转和公转 课件-2024-2025学年中图版初中地理八年级上册.pptx VIP
- EduSoho系统功能说明书v7.2(1231).doc VIP
文档评论(0)