有一部分调试代码,不用看,反正原本就是错的
#include <bits/stdc++.h>
using namespace std;
int n,m,ans,sum;
bool vis[55];
vector<pair<int,int> >g[55];
void dfs(int now){
int maxx=0,x=-1;
for(int i=0;i<g[now].size();i++){
if(maxx<g[now][i].second && vis[g[now][i].first]==false){
maxx=g[now][i].second;
x=g[now][i].first;
}
}
if(x==-1){
cout<<"\n";
return;
}
cout<<g[now][x].second<<" ";
sum+=g[now][x].second;
vis[g[now][x].first]=true;
dfs(g[now][x].first);
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cin>>n>>m;
for(int i=1;i<=m;i++){
int x,y,z;
cin>>x>>y>>z;
g[x].push_back(make_pair(y,z));
g[y].push_back(make_pair(x,z));
}
for(int i=1;i<=n;i++){
cout<<i<<"\n";
sum=0;
vis[i]=true;
dfs(i);
for(int j=1;j<=n;j++) vis[j]=false;
ans=max(ans,sum);
}
cout<<ans;
return 0;
}