蒟蒻求助,样例过不了
查看原帖
蒟蒻求助,样例过不了
857359
ztj000楼主2023/1/31 17:30
样例输出140
#include<bits/stdc++.h>
using namespace std;
int n,m,a[51],b[51],c[51],j[21],mmon=-1,h;
void dfs(int q,int x)//dfs搜索
{
	j[q]=1;//记录已经走过的
	for(h=1;h<=m;++h)//搜索可以走的路
	{
		if(a[h]==q&&j[b[h]]==0)
		{
			dfs(b[h],x+c[h]);
			j[b[h]]=0;
		}
		if(b[h]==q&&j[a[h]]==0)
		{
			dfs(a[h],x+c[h]);
			j[a[h]]=0;
		}
		//cout<<x<<" ";
		mmon=max(mmon,x);//死路就计算最大长度
	}
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=m;++i)
	{
		cin>>a[i]>>b[i]>>c[i];
		if(a[i]==b[i]) a[i]=0,b[i]=0;
	}
	for(int i=1;i<=n;++i)
	{
		dfs(i,0);
		j[21]={0};//重置j数组
		//cout<<endl<<endl;
	}
	cout<<mmon;
	return 0;
}
2023/1/31 17:30
加载中...