91分求调玄关
  • 板块P1807 最长路
  • 楼主Kyleshao
  • 当前回复1
  • 已保存回复1
  • 发布时间2025/7/21 15:36
  • 上次更新2025/7/21 20:20:07
查看原帖
91分求调玄关
758513
Kyleshao楼主2025/7/21 15:36

link

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <math.h>
#include <cmath>
#include <cstring>
#include <string>
#include <vector>
#include <queue>
#include <stack>
#include <list>
#include <set>
//#include <bits/stdc++.h>
using namespace std;
#define int long long
struct node
{
    int v,w;
};
vector<node> a[1505];
queue<int> q;
int d[1505];
bool flag[1505];
void dfs(int step)
{
    for (int i=0;i<a[step].size();i++)
    {
        if (d[a[step][i].v]<d[step]+a[step][i].w)
        {
            d[a[step][i].v]=d[step]+a[step][i].w;
            dfs(a[step][i].v);
        }
    }
}
signed main()
{
    memset(d,-1,sizeof(d));
    int n,m;
    cin>>n>>m;
    for (int i=1;i<=m;i++)
    {
        int u,v,w;
        cin>>u>>v>>w;
        a[u].push_back(node{v,w});
    }
    d[1]=0;
    dfs(1);
    flag[1]=true;
    cout<<d[n]<<endl;
}
2025/7/21 15:36
加载中...