dfs 78分求助!
  • 板块P1807 最长路
  • 楼主NameCQ
  • 当前回复12
  • 已保存回复12
  • 发布时间2022/9/24 11:33
  • 上次更新2023/10/27 10:11:03
查看原帖
dfs 78分求助!
796656
NameCQ楼主2022/9/24 11:33

有两个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]);
        }
    }
}
2022/9/24 11:33
加载中...