




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 技术合同涉税政策
- 电商行业买卖合同
- 办公楼装饰施工方案
- 长期供货合同的协议书
- 员工考勤记录表格系列
- 设备采购预算表格化统计分析报告
- 合同执行进展一览表
- 宿州拆烟囱施工方案
- 儿童厕所改造施工方案
- 别墅背景墙大理石施工方案
- 2025年开封文化艺术职业学院单招职业技能测试题库含答案
- 2025年辽宁冶金职业技术学院单招职业适应性测试题库有完整答案
- 2025年安徽扬子职业技术学院单招职业适应性测试题库(各地真题)
- 2025年共青科技职业学院单招职业适应性测试题库完整版
- 烟草职业鉴定三级技能考点
- 2025年上半年潜江市城市建设发展集团招聘工作人员【52人】易考易错模拟试题(共500题)试卷后附参考答案
- 2024年江西应用工程职业学院单招职业技能测试题库标准卷
- 2023《住院患者身体约束的护理》团体标准解读PPT
- 星巴克运营管理手册
- 人教鄂教版小学科学三年级下册全册教案教学设计
- 2钢结构工程常用构件代号及相关知识
评论
0/150
提交评论