广度优先旅行商问题c++代码
时间: 2023-12-18 08:29:43 浏览: 91
很抱歉,您提供的两个引用内容并没有提供广度优先旅行商问题的C++代码。但是,我可以为您提供深度优先旅行商问题的C++代码,希望能够帮到您。
以下是深度优先旅行商问题的C++代码:
```c++
#include <bits/stdc++.h>
using namespace std;
const int N = 20;
int n, m, ans = 0x3f3f3f3f;
int g[N][N], vis[N];
void dfs(int u, int cnt, int dis) {
if (cnt == n) {
ans = min(ans, dis);
return;
}
if (dis >= ans) return;
for (int i = 1; i <= n; i++) {
if (!vis[i]) {
vis[i] = 1;
dfs(i, cnt + 1, dis + g[u][i]);
vis[i] = 0;
}
}
}
int main() {
cin >> n >> m;
memset(g, 0x3f, sizeof g);
for (int i = 0; i < m; i++) {
int a, b, c;
cin >> a >> b >> c;
g[a][b] = g[b][a] = min(g[a][b], c);
}
vis[1] = 1;
dfs(1, 1, 0);
cout << ans << endl;
return 0;
}
```
阅读全文