数据似乎有误
查看原帖
数据似乎有误
305069
_awa_wangjiawen楼主2023/10/6 15:00

我一直WA on #1(还有两个TLE,但先别管)

#include<bits/stdc++.h>
using namespace std;
long long n,m,a[1501][1501];
bool rd[1501][1501];
long long dfs(int now,int prep,int sum)
{
	if(now==n)
		return sum;
	long long ans=-1145141919810;
	for(int i=1;i<=n;i++)
	{
		if(i==prep)
			continue;
		if(rd[now][i]==1)
			ans=max(ans,dfs(i,now,sum+a[now][i]));
	}
	return ans;
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=m;i++)
	{
		long long x,y,z;
		cin>>x>>y>>z;
		if(rd[x][y]==0)
			a[x][y]=z;
		else
			a[x][y]=max(a[x][y],z);
		rd[x][y]=1;
	}
	long long ans=dfs(1,0,0);
	if(ans==-1145141919810)
		cout<<-1;
	else
		cout<<ans;
	return 0;
}

下了一下数据点

数据1输入:

5 6
1 5 -38
4 6 -1
1 3 -5
1 4 -2
5 6 37
1 2 -1

数据1输出:

-1

可以发现n为5,但是边已经给到了6。

这是我的问题还是数据的问题?

2023/10/6 15:00
加载中...