#include
#include
#include
#include
#include
#define NoEdge -1
#define NN 50 // 可执行的最大的顶点个数
using namespace std;
int n; // 图的顶点个数
int adjMatrix[NN][NN]; // 图的邻接矩阵
int v[50]; // 最优解
int bestC; // 最优值
int num = 0; // 节点序号
/*****************************************************************
* 函数描述:
数据输入以及内存的初始化
*****void input()
{
cin >> n; // 输入顶点个数
int k;
memset(adjMatrix, NoEdge, sizeof(adjMatrix)); // 邻接矩阵的内存初始化
cin >> k; // 输入边的个数;
int p, q, len;
// 初始化邻接矩阵
for (int i = 1; i <= k; ++i)
{
cin >> p >> q >> len;
adjMatrix[p][q] = len;
adjMatrix[q][p] = len;
}
}
/*****************************************************************
* 函数描述: 格式化打印结果
* 参数描述: res,最优值
*****************************************************************/
void printTravel(int res)
{
if (res == NoEdge)
cout << "======= 无法形成回路 =======" << endl;
else
{
cout << "\n======================================\n最短路径为:" << res << endl;
for (int i = 1; i <= n; i++)
cout << v[i] << " ---> ";
cout << v[1];
}
}
/****************************************************
分支限界法求解旅行商问题
最新推荐文章于 2022-12-30 09:55:54 发布