用回溯法解旅行员收获问题
来源:互联网 发布:selenium python 教程 编辑:程序博客网 时间:2024/06/10 20:44
#include<iostream>#include<cstring>using namespace std;int a[100][100];//用来存储权值int x[100]; //x[i]用来存储第i步遍历的城市int isIn[100];//保存城市是否被加入路径int bestw=100000,cw=0,n;int i,j,k;int bestx[100];void Travel_Backtrack(int t)//用i的话太容易混淆路{ if(t>n){ if(cw<bestw){ for(i=1;i<=n;i++) bestx[i]=x[i];//这个数组的存在是有必要的 bestw=cw; } return; } else{ for(k=1;k<=n;i++){ if(a[x[t-1]][k]!=-1 && !isIn[k]){//没有被加入到路径中去 isIn[k]=1; x[t]=k; cw+=a[x[t-1]][k]; Travel_Backtrack(t+1); isIn[k]=0; x[t]=0; cw-=a[x[t-1]][k]; } } }} int main(void) { cin>>n; for(i=1;i<=n;i++) for(j=1;j<=n;j++) cin>>a[i][j]; //选择了第一步 x[1]=1;isIn[1]=1; Travel_Backtrack(2); cout<<bestw<<endl; for(i=1;i<=n;i++) cout<<bestx[i]<<endl; }还不是一个完整版的实现
0 0
- 用回溯法解旅行员收获问题
- 经典回溯问题-----旅行员售货问题
- 0031算法笔记——【回溯法】旅行员售货问题和圆排列问题
- 0031算法笔记——【回溯法】旅行员售货问题和圆排列问题
- 回溯法解旅行商问题(TSP)
- 回溯法----旅行售货员问题
- 旅行售货员问题(回溯法)
- 【回溯法】旅行商问题
- 旅行售货员问题-回溯法
- 旅行员售货问题
- 全排列与回溯法解旅行商问题
- 回溯法之旅行商问题
- 回溯法-旅行售货员问题(C语言)
- 旅行售货员问题的回溯法求解
- 回溯法_旅行售货员问题
- 旅行售货员问题(回溯法实现)
- 回溯旅行商问题
- 旅行售货问题(回溯)
- BZOJ刷题列表——来自蒟蒻
- Linux自定义命令
- 集合框架篇1 容器简介
- VMware下调整linux的分辨率
- 极路由、极路由贰
- 用回溯法解旅行员收获问题
- mysql MySql Login Unable to connect to any of the specified MySQL hosts
- u-boot-2014.10移植第22天----添加nand flash命令支持(四)
- 【百度地图API】建立全国银行位置查询系统(一)——如何创建地图
- 软件工程作业-Android小游戏-超级玛丽
- UVA - 10285 Longest Run on a Snowboard
- 当下的社会,只有以“体验为王”为主旨才能成为一个伟大的公司
- 【百度地图API】建立全国银行位置查询系统(二)——怎样为地图添加控件
- 登录SQL Server2008出现错误未找到或无法访问服务器,出现与网络相关的或特定于实例的错误。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接