




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、算法思想:使用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./#inc
2、lude 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)
3、 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
4、,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+mi
5、ndisi49=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,pat
6、h,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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 快乐游乐园安全第一3篇
- 化粪池清掏业务协议3篇
- 单位授权委托书格式设计方案3篇
- 劳务分包工程安全协议书3篇
- 安全责任书液化气站3篇
- 学生考试诚信宣言3篇
- 工程合同首页
- 腈纶纤维在医疗绷带产品的开发考核试卷
- 电脑组件的未来趋势考核试卷
- 糕点行业人力资源开发与培训考核试卷
- 开曼群岛公司法2024版中文译本(含2024年修订主要内容)
- 第一章-地震工程学概论
- 2023年云南师范大学实验中学招聘考试真题
- 校友管理系统答辩
- 医院耗材管理制度耗材
- TSGD7002-2023-压力管道元件型式试验规则
- 220kV变电站技术培训方案
- 2025年软件资格考试信息系统运行管理员(初级)(基础知识、应用技术)合卷试卷及答案指导
- 购房购房合同
- 《天润乳业公司的存货管理问题及完善对策8500字》
- 神经重症气管切开患者气道功能康复与管理专家共识(2024)解读
评论
0/150
提交评论