芹菜本菜 • 14天前
using namespace std; int g[51][51]; int n, m; int ans; bool vis[51];
void dfs(int u, int sum ) {
ans = max(ans, sum);
for (int v = 1; v <= n; v++) {
if (g[u][v] > 0 && !vis[v]) {
vis[v] = true;
dfs(v, sum + g[u][v]);
vis[v] = false;
}
}
}
int main() {
cin >> n >> m;
for (int i = 1; i <= m; i++) {
int u, v, d;
cin >> u >> v >> d;
g[u][v] = d;
g[v][u] = d;
}
for (int i = 1; i <= n; i++) {
memset(vis, 0, sizeof vis);
vis[i] = true;
dfs(i, 0);
}
cout << ans << endl;
return 0;
}
评论:
请先登录,才能进行评论