题目描述
给定一个 nn 个点,mm 条有向边的带非负权图,请你计算从 ss 出发,到每个点的距离。
数据保证你能从 ss 出发到任意点。
输入格式
第一行为三个正整数 n, m, sn,m,s。 第二行起 mm 行,每行三个非负整数 u_i, v_i, w_iu
i
,v
i
,w
i
,表示从 u_iu
i
到 v_iv
i
有一条权值为 w_iw
i
的有向边。
输出格式
输出一行 nn 个空格分隔的非负整数,表示 ss 到每个点的距离。
注意本代码第27行,千万不能落,否则就会TLE 50
#include<bits/stdc++.h>
using namespace std;
const long long maxn=2e5+5;
priority_queue<pair<long long,long long>,vector<pair<long long,long long> >,greater<pair<long long,long long> > > que;
long long vis[maxn],dis[maxn],n,m,root,cnt