AT_abc373_d [ABC373D] Hidden Weights
题目描述
给定一个有 N 个顶点、M 条边的有向图。第 j 条有向边从顶点 uj 指向顶点 vj,权值为 wj。
请找出一种方法,将 −1018 到 1018 之间的整数写在每个顶点上,使得满足以下条件:
- 设顶点 i 上写的数为 xi。对于所有边 j=1,2,…,M,都有 xvj−xuj=wj。
保证对于给定的输入,至少存在一种满足条件的写法。
输入格式
输入以如下格式从标准输入读入。
N M
u1 v1 w1
u2 v2 w2
⋮
uM vM wM
输出格式
请输出一行,用空格分隔的 x1,x2,…,xN,其中 xi 表示写在顶点 i 上的整数。若有多种答案,输出任意一种均可。
输入输出样例 #1
输入 #1
3 3
1 2 2
3 2 3
1 3 -1
输出 #1
3 5 2
输入输出样例 #2
输入 #2
4 2
2 1 5
3 4 -3
输出 #2
5 0 6 3
输入输出样例 #3
输入 #3
5 7
2 1 18169343
3 1 307110901
4 1 130955934
2 3 -288941558
2 5 96267410
5 3 -385208968
4 3 -176154967
输出 #3
200401298 182231955 -106709603 69445364 278499365
说明/提示
限制条件
- 2≤N≤2×105
- 1≤M≤min{2×105,N(N−1)/2}
- 1≤uj,vj≤N
- uj=vj
- 若 i=j,则 (ui,vi)=(uj,vj) 且 (ui,vi)=(vj,uj)
- ∣wj∣≤109
- 输入均为整数
- 保证至少存在一种满足条件的写法
样例解释 1
例如取 x=(3,5,2),则 x2−x1=w1=2,x2−x3=w2=3,x3−x1=w3=−1,均满足条件。
也可以取 x=(−1,1,−2),同样是正确答案。
样例解释 2
例如取 x=(0,−5,4,1) 或 x=(5,0,4,1),都是正确答案。
由 ChatGPT 4.1 翻译