qwq

发布时间 2023-10-10 09:56:46作者: cqbzlzh

题目描述

给定一张 $ n $ 个点 $ m $ 条边的有向图。
对于每条边 $ (u, v, r, p) $ 表示有一条从 $ u $ 到 $ v $ 的边,走过前必须至少持有 $ r $ 元钱,走过后会增加 $ p $ 元钱。
分别求出从每个点出发能够无限地游走下去所需要最少的最初钱数。特别地,若从这个点以任意最初钱数出发都无法无限游走下去则输出 $ -1 $ 。

输入格式

从文件 lan.in 中读入数据。
输入 $ m + 1 $ 行。
其中第一行两个整数 $ n $ ,$ m $ ,分别表示无向图的点数和边数。
接下来$ m $ 行,每行四个非负整数 \(u_i, v_i, r_i, p_i\) ,含义如上文所述,描述一条有向边。

输出格式

输出到文件 lan.out 中。
输出一行 $ n $ 个数,表示每个点的答案。

样例

样例 1

样例 1 输入(lan/ex_lan1.in)
5 7
1 2 0 1
2 1 10 2
2 3 1 3
3 4 5 2
4 2 2 4
3 5 1 5
4 5 0 3
样例 1 输出(lan/ex_lan1.ans)
1 2 5 2 -1

样例2

见附加文件中的 lan/ex_lan2.inlan/ex_lan2.ans
该样例满足测试点 2 的限制。

样例3

见附加文件中的 lan/ex_lan3.inlan/ex_lan3.ans
该样例满足测试点 3 的限制。

样例4

见附加文件中的 lan/ex_lan4.inlan/ex_lan4.ans
该样例满足测试点 4 的限制。

数据范围与提示

【数据范围】

对于 \(100\%\) 的数据:满足 $1 \leq n \leq m \leq 2 \times 10 ^5, 0 \leq r_i,p_i \leq 1 \times 10 ^9 $

【评测方式 & 得分规则】

对于每个测试点,采用 全文比较(过滤行末空格及文末回车) 评测方式。

测试点编号 n m 特殊性质
1 \(\leq 5\) \(\leq\) 15
2 \(\leq 5\) \(\leq\) 15
3 \(\leq 2000\) \(\leq 2000\)
4 \(\leq 2000\) \(\leq 2000\)
5 \(\leq 200000\) \(\leq 200000\) A
6 \(\leq 200000\) \(\leq 200000\) A
7 \(\leq 200000\) \(\leq 200000\)
8 \(\leq 200000\) \(\leq 200000\)
9 \(\leq 200000\) \(\leq 200000\)
10 \(\leq 200000\) \(\leq 200000\)

特殊性质 A: \(\forall i \in [1,m]\) ,\(r_i = 0\)