20分求助
查看原帖
20分求助
1192586
DemonPlayer楼主2024/7/30 09:55
#include<bits/stdc++.h>
using namespace std;

struct sNode{
	int e[21];
	int v[21];
	int len;
};

sNode sn[21];
int vis[21];
int n,m;
int maxn;
int a,b,c;
int ne;

void dfs(int x,int y){
	maxn=max(maxn,y);
	for(int i=0;i<sn[x].len;i++){
		ne=sn[x].e[i];
		if(!vis[ne]){
			vis[ne]=1;
			dfs(ne,y+sn[x].v[i]);
			vis[ne]=0;
		}
	}
	return;
}

int main(){
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		cin>>a>>b>>c;
		sn[a].e[sn[a].len]=b;
		sn[a].v[sn[a].len]=c;
		sn[a].len++;
		sn[b].e[sn[b].len]=a;
		sn[b].v[sn[b].len]=c;
		sn[b].len++;
	}
	for(int i=1;i<=n;i++){
		vis[i]=1;
		dfs(i,0);
		vis[i]=0;
	}
	cout<<maxn;
	return 0;
}
2024/7/30 09:55
加载中...