#ABC277E. 水晶开关

水晶开关

水晶开关

题目描述

给定一个由 NN 个顶点和 MM 条边组成的无向图。

对于 i=1,2,,Mi = 1, 2, \ldots, M,第 ii 条边是连接顶点 uiu_iviv_i 的无向边;当 ai=1a_i = 1 时初始可通行,当 ai=0a_i = 0 时初始不可通行。 此外,在 KK 个顶点上有开关:顶点 s1s_1、顶点 s2s_2\ldots、顶点 sKs_K

高桥初始位于顶点 11,他会按自己的意愿重复执行以下两种操作之一任意次。

移动:选择一条与当前所在顶点相邻的边,沿该边移动到所连接的顶点。

按开关:如果当前所在顶点上有开关,按下它。这会使图中所有边的可通行性反转,即可通行的边变得不可通行,反之亦然。

判断高桥能否到达顶点 NN,如果能,输出在到达顶点 NN 之前执行移动操作的最少次数。

输入格式

输入按以下格式从标准输入给出:

NN MM KK
u1u_1 v1v_1 a1a_1
u2u_2 v2v_2 a2a_2
\vdots
uMu_M vMv_M aMa_M
s1s_1 s2s_2 \ldots sKs_K

输出格式

如果高桥无法到达顶点 NN,输出 1-1; 如果能够到达,输出在到达顶点 NN 之前执行移动操作的最少次数。

样例

5 5 2
1 3 0
2 3 1
5 4 1
2 1 1
1 4 0
3 4
5

高桥可以按如下方式到达顶点 NN

  • 从顶点 11 移动到顶点 22
  • 从顶点 22 移动到顶点 33
  • 按下顶点 33 上的开关,图中所有边的可通行性被反转。
  • 从顶点 33 移动到顶点 11
  • 从顶点 11 移动到顶点 44
  • 按下顶点 44 上的开关,图中所有边的可通行性再次被反转。
  • 从顶点 44 移动到顶点 55

这里移动操作执行了 55 次,这是最少次数。

4 4 2
4 3 0
1 2 1
1 2 0
2 1 1
2 4
-1

给定的图可能不连通,也可能包含重边。在本样例中,高桥无法到达顶点 NN,因此应输出 1-1

数据范围

  • 2N2×1052 \le N \le 2 \times 10^5
  • 1M2×1051 \le M \le 2 \times 10^5
  • 0KN0 \le K \le N
  • 1ui,viN1 \le u_i, v_i \le N
  • uiviu_i \neq v_i
  • ai{0,1}a_i \in \lbrace 0, 1\rbrace
  • 1s1<s2<<sKN1 \le s_1 \lt s_2 \lt \cdots \lt s_K \le N
  • 输入中的所有值均为整数。
难度 提高
通过率
尝试 0
已通过 0
ID
2540
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签