帮我找找错,谢谢
查看原帖
帮我找找错,谢谢
1412901
zhangyanning001楼主2024/12/1 21:40
#include<bits/stdc++.h>
using namespace std;
int n,m;
struct walk{
	int end[50]={0},size[50]={0},child=0;
}sidewalk[100];
int ma=0;
bool a[30];
void dfs(int u,int sum){
    ma=max(ma,sum);
    for (int i=0;i<sidewalk[u].child;i++){
    if (!a[sidewalk[u].end[i]]){
    break;
	}
    a[u]=false;
    dfs(sidewalk[u].end[i],sum+sidewalk[u].size[i]);
    a[u]=true;
	}
	return;
}
int main() {
	cin >> n >> m;
	for (int i=0;i<n;i++){
	a[i]=true;
	}
	for (int i=0;i<m;i++){
	int x,y,l;
	cin >> x >> y >> l;
	sidewalk[x].end[sidewalk[x].child++]=y;
	sidewalk[x].size[sidewalk[x].child++]=l;
	sidewalk[y].end[sidewalk[y].child++]=x;
	sidewalk[y].size[sidewalk[y].child++]=l;
	}
	for (int i=1;i<=n;i++){
	dfs(i,0); 
	}
	cout << ma << endl;
	return 0;
}
2024/12/1 21:40
加载中...