有两个WA了,代码如下:
#include <iostream>
using namespace std;
void dfs(int start,int End,int cnt);
int G[1501][1501];
int f[1501];
int ans=0;
int n;
int main()
{
int m;
cin >> n >> m;
int a,b,k;
for(int i=1;i<=m;i++)
{
cin >> a >> b;
cin >> k;
G[a][b] = max(k,G[a][b]);//可能会有重边
}
dfs(1,n,0);
if(f[n] ==0 || f[n] < 0)cout <<-1<<endl;
cout << f[n] <<endl;
return 0;
}
void dfs(int start,int End,int cnt)
{
f[start] = cnt;
int k;
for(int i=1;i<=End;i++)
{
if (G[start][i] == 0) continue;
k = cnt + G[start][i];
if( f[i]==0 || f[i] < k )
{
dfs(i,End,cnt + G[start][i]);
}
}
}