#aBC375G. [ABC375G] Road Blocked 2

[ABC375G] Road Blocked 2

AT_abc375_g [ABC375G] Road Blocked 2

题目描述

在 AtCoder 国有 NN 个城市,编号为 11NN,以及 MM 条道路,编号为 11MM
ii 条道路连接城市 AiA_i 和城市 BiB_i,是双向的,长度为 CiC_i

对于每个 i=1,,Mi=1,\ldots,M,请判断以下两个值是否不同:

  • 当所有道路都可通行时,从城市 11 到城市 NN 的最短距离;
  • 当除了第 ii 条道路以外的其余 M1M-1 条道路可通行时,从城市 11 到城市 NN 的最短距离。

注意,如果一种情况下可以从城市 11 到城市 NN,而另一种情况下无法到达,则认为这两个值是不同的。

输入格式

输入以如下格式从标准输入给出。

NN MM
A1A_1 B1B_1 C1C_1
\vdots
AMA_M BMB_M CMC_M

输出格式

输出 MM 行。第 ii 行输出如下内容:

  • 如果“所有道路都可通行时,从城市 11 到城市 NN 的最短距离”与“除了第 ii 条道路以外的其余 M1M-1 条道路可通行时,从城市 11 到城市 NN 的最短距离”不同,则输出 Yes
  • 如果相同,则输出 No

注意,如果一种情况下可以从城市 11 到城市 NN,而另一种情况下无法到达,则认为这两个值是不同的。

输入输出样例 #1

输入 #1

3 3
1 2 5
1 3 10
2 3 6

输出 #1

No
Yes
No

输入输出样例 #2

输入 #2

4 6
2 3 1
2 4 1
3 4 1
1 2 1
1 3 1
1 4 1

输出 #2

No
No
No
No
No
Yes

输入输出样例 #3

输入 #3

2 1
1 2 1

输出 #3

Yes

说明/提示

限制条件

  • 2N2×1052 \leq N \leq 2 \times 10^5
  • 1M2×1051 \leq M \leq 2 \times 10^5
  • 1Ai<BiN1 \leq A_i < B_i \leq N
  • (Ai,Bi)(A_i,B_i) 互不相同
  • 1Ci1091 \leq C_i \leq 10^9
  • 当所有道路都可通行时,一定可以从城市 11 到城市 NN
  • 所有输入均为整数

样例解释 1

当所有道路都可通行时,从城市 11 到城市 33 的最短距离为 1010

  • 当除了第 11 条道路以外的其余 22 条道路可通行时,从城市 11 到城市 33 的最短距离为 1010
  • 当除了第 22 条道路以外的其余 22 条道路可通行时,从城市 11 到城市 33 的最短距离为 1111
  • 当除了第 33 条道路以外的其余 22 条道路可通行时,从城市 11 到城市 33 的最短距离为 1010

样例解释 2

当所有道路都可通行时,从城市 11 到城市 44 的最短距离为 11
当除了第 66 条道路以外的其余 55 条道路可通行时,从城市 11 到城市 44 的最短距离为 22

样例解释 3

当除了第 11 条道路以外的 00 条道路可通行时,无法从城市 11 到城市 22

由 ChatGPT 4.1 翻译