初学dfs,20分求调
查看原帖
初学dfs,20分求调
1048914
cgy20140502楼主2024/11/18 20:13
#include <bits/stdc++.h>
using namespace std;
int n,m,a[21][21],ans;
bool vis[51];
inline void dfs(int u,int cost){
    if (u == n) ans = max(ans,cost);
	vis[u] = 1;
	for(int v = 1;v <= n;v++)
		if(a[u][v] != 0 && vis[v] == 0){
			dfs(v,cost + a[u][v]);
			vis[v] = 0;
		}
}
int main(){
	cin >> n >> m;
	for (int i = 1;i <= m;i++){
		int u,v,w;
		cin >> u >> v >> w;
		a[u][v] = a[v][u] = w;
	}
	for (int i = 1;i <= n;i++) dfs(i,0);
	cout << ans;
	return 0;
}
2024/11/18 20:13
加载中...