




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
算法思想:使用Floyd算法求出两点间最小距离,算法使用深度优先搜索,在搜索到可行结果之后,使用Floyd条件,进行算法剪枝。剪枝条件:(curdis+disnodei+mindisi49=disbound)|(mincosti49+costnodei+curcost=costbound) 如果当前距离+本次搜到的节点i到node的距离+i到城市50的最小距离大于我们的最小花费,则必然剪枝,costbound为1500,题目设定条件运行结果:程序代码:/ branch.cpp : Defines the entry point for the console application./#include stdafx.h#include#includeusing namespace std;const int maxint=9999;int dis5050=0;int cost5050=0;int mindis5050=0;int mincost5050=0;int disbound=9999;int costbound=1500;int bestpath50=-1; void floyd(int d5050) int n=50; for (int k=0;kn;k+) for (int i=0;i50;i+) for (int j=0;j50;j+) if (dik+dkjdij) dij=dik+dkj; /* struct st int cur; int pre; int dis; int cost; ;void branch(int dis,int cost,int mindis,int mincost) struct st q1000=0; q0.cur=0; q0.pre=-1; int l=0; int r=0; int disbound=9999; int costbound=1500;while (l=r) for (int i=0;i=disbound)|(ql.dis+mincosti49=costbound) */void DFS(int node,int curdis,int curcost,int path,int step) if (node=49) if (curdisdisbound) for (int i=0;istep;i+) bestpathi=pathi; bestpathstep=-1; disbound=curdis;/ coutdisbound ; / for (int s=0;sstep;s+) coutpaths ; / cout endl; return; if (node=47) int a=1;for (int i=0;i=maxint) continue; if (curdis+disnodei+mindisi49=disbound)|(mincosti49+costnodei+curcost=costbound) continue; int flag=0; for (int j=0;jstep;j+) if (pathj=i) flag=1; if (flag=1) continue; pathstep=i; step+; / if (pathi!=0) continue; / for (int i=0;istep;i+)/ coutpathi ; coutendl;/ coutcurdisendl; DFS(i,curdis+disnodei,curcost+costnodei,path,step); step-; pathstep=-1; int main() fstream f; f.open(m1.txt,ios:in); for (int i=0;i50;i+) for(int j=0;jdisij; disii=0; mindisij=disij; f.close(); f.open(m2.txt,ios:in); for (int i=0;i50;i+) for(int j=0;jcostij; mincostij=costij; f.close(); floyd(mindis); floyd(mincost); int path50=-1; cout - endl;/ path0=0; DFS(0,0,0,path,0); int i=0; cout
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 市场分析行业规程定制
- 遗产保护修复工作承诺书9篇范文
- 跨部门沟通协调会议记录表模板信息共享
- 专业技术咨询及支持服务合同协议
- 商业楼宇机电系统维修合同
- 诚信教育机构承诺书(5篇)
- 产品质量问题分析与整改计划表
- 周末的日记周记格式的作文13篇
- 员工培训计划与效果评估跟踪表
- 企业战略目标拆解及落地实施表
- 2025-2030矿山工程机械租赁市场商业模式与风险防控报告
- 公务用车管理培训课件
- 跨文化视野下《哪吒之魔童降世》字幕翻译探究
- 2026年高考语文复习:文言文背诵篇目理解性默写练习题汇编(含答案)
- 2025高考新课标二卷语文试卷(含答案)
- 2025年新为父母设立居住权协议书
- 食材配送退换货方案
- 安宁疗护服务创新创业项目商业计划书
- 2025年上海市少先队试题及答案
- 肥料及基础知识培训课件
- 机关单位会计试题及答案
评论
0/150
提交评论