当前你的浏览器版本过低,网站已在兼容模式下运行,兼容模式仅提供最小功能支持,网站样式可能显示不正常。
请尽快升级浏览器以体验网站在线编辑、在线运行等功能。

建议使用的浏览器:

谷歌Chrome 火狐Firefox Opera浏览器 微软Edge浏览器 QQ浏览器 360浏览器 傲游浏览器

7145:Path

题目描述
Given a graph with $n$ vertices and $m$ edges.Each vertex is numbered from $1$ to $n$.

Each edge $i$ has its cost $w_i$,some edges are common edges and some edges are special edges.

When you pass through a special edge, the next step after passing this edge,you can reach any vertex in the graph. If you goto the vertex which an original edge $i$ can arrive from current vertex, the cost becomes $w_i-K(0 \le w_i-K)$(if you used edge $i$), otherwise the cost will become 0(every vertex except the vertex which original edge can arrive from current vertice)

original edge includes all common edges and special edges.

Now you start at $S$,You need to calculate the minimum cost from the starting vertex to each vertex(If there is a situation where you cannot reach, please output "-1")
输入解释
Each test contains multiple test cases. The first line contains the number of test cases $T$. Description of the test cases follows.

The first line of each test case contains four integers $n,m,S,K$

The next $m$ lines each line contains four integers $x,y,w,t$ represent an directed edge connect $x$ and $y$ with cost $w$,$t=0$ represents it's a common edge,$t=1$ represents it's a special edge.

$1\le \sum_{}{}{m} ,\sum_{}{}{n} \le 10^6,1\le x,y,S \le n,1\le w,K\le 10^9$

$K \le w_i (1\le i \le m)$
输出解释
For each test case, print $n$ integer in a line— the answer to the problem.
There is a space at the end of the line for each line,when you cannot reach, please output "-1".
输入样例
2
5 4 1 1
1 2 4 0
1 3 5 0
3 4 3 1
4 5 3 0
5 3 1 1
1 2 4 0
1 3 5 0
3 4 3 1
输出样例
0 4 5 8 10 
0 4 5 8 8 

该题目是Virtual Judge题目,来自 杭电HDUOJ

源链接: HDU-7145

最后修改于 2022-09-15T06:17:00+00:00 由爬虫自动更新

共提交 0

通过率 --%
时间上限 内存上限
4000/2000MS(Java/Others) 262144/262144K(Java/Others)