#abc305e. [abc305_e]Art Gallery on Graph

[abc305_e]Art Gallery on Graph

问题描述

给定一个简单的无向图,具有NN个顶点和MM条边,其中顶点从11NN编号,边从11MM编号。边ii连接着顶点aia_i和顶点bib_i
KK个安全卫士,编号为11KK,分别位于一些顶点上。卫士ii位于顶点pip_i上,并且具有耐力hih_i。所有pip_i都是不同的。

当满足以下条件时,称顶点vv受到保护的

  • 至少存在一名卫士ii,使得顶点vv与顶点pip_i之间的距离最多为hih_i

这里,顶点uu与顶点vv之间的距离是连接顶点uu和顶点vv的路径中边的最小数量。

按照升序列出所有受到保护的顶点。

约束条件

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • $0 \leq M \leq \min \left(\frac{N(N-1)}{2}, 2 \times 10^5 \right)$
  • 1KN1 \leq K \leq N
  • 1ai,biN1 \leq a_i, b_i \leq N
  • 给定的图是简单图。
  • 1piN1 \leq p_i \leq N
  • 所有pip_i都是不同的。
  • 1hiN1 \leq h_i \leq N
  • 所有输入值都是整数。

输入

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

NN MM KK a1a_1 b1b_1 a2a_2 b2b_2 \vdots aMa_M bMb_M p1p_1 h1h_1 p2p_2 h2h_2 \vdots pKp_K hKh_K

输出

以以下格式输出答案。这里,

  • GG 是受到保护的顶点数量,
  • v1,v2,,vGv_1, v_2, \dots, v_G按升序排列的受到保护的顶点的编号。

GG v1v_1 v2v_2 \dots vGv_G


示例输入1

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

示例输出1

4
1 2 3 5

受到保护的顶点是1,2,3,51, 2, 3, 5
这些顶点之所以受到保护,是因为以下原因:

  • 顶点11与顶点p1=1p_1=1之间的距离是00,不大于h1=1h_1=1。因此,顶点11受到保护。
  • 顶点22与顶点p1=1p_1=1之间的距离是11,不大于h1=1h_1=1。因此,顶点22受到保护。
  • 顶点33与顶点p2=5p_2=5之间的距离是11,不大于h2=2h_2=2。因此,顶点33受到保护。
  • 顶点55与顶点p1=1p_1=1之间的距离是11,不大于h1=1h_1=1。因此,顶点55受到保护。

示例输入2

3 0 1
2 3

示例输出2

1
2

给定的图可能没有边。


示例输入3

10 10 2
2 1
5 1
6 1
2 4
2 5
2 10
8 5
8 6
9 6
7 9
3 4
8 2

示例输出3

7
1 2 3 5 6 8 9