#include<bits/stdc++.h>
#include<algorithm>
using namespace std;
//邻接矩阵+dfs
int n,m;
int b[55];
int edge[55][55];
int ans;
int maxx;
void dfs(int i,int v)
{
ans=max(ans,v);
for(int j=1;j<=n;j++)
{
if(b[j]==0&&edge[i][j]!=0)
{
b[j]=1;
dfs(j,v+edge[i][j]);
b[j]=0;
}
}
}
int main(){
cin>>n>>m;
int a,bb,c;
for(int i=1;i<=m;i++)
{
cin>>a>>bb>>c;
edge[a][bb]=edge[bb][a]=c;
}
memset(b,0,sizeof(b));
for(int i=1;i<=n;i++)
{
b[i]=1;
dfs(i,0);
maxx=max(maxx,ans);
memset(b,0,sizeof(b));
}
cout<<maxx;
return 0;
}
【dfs】P1294 高手去散步
最新推荐文章于 2024-05-05 17:49:24 发布