P1294 高手去散步
#include<bits/stdc++.h>
using namespace std;
int Edge[21][21],n,m,t,ans,vis[100010];
int x,y,z;
int dfs(int k,int su)
{
ans=max(ans,su);
for(int i=1;i<=n;i++)
{
if(Edge[k][i]&&!vis[i])
{
vis[i]=1;
dfs(i,su+Edge[k][i]);
vis[i]=0;
}
}
}
int main()
{
cin>>n>>m;
for(int i=1;i<=m;i++)
{
cin>>x>>y>>z;
Edge[x][y]=z;
Edge[y][x]=z;
}
for(int i=1;i<=n;i++)
{
vis[i]=1;
dfs(i,0);
memset(vis,0,sizeof(vis));
}
cout<<ans;
}