atcoder#ABC219G. [ABC219G] Propagation

[ABC219G] Propagation

配点 : 600600

問題文

NN 頂点 MM 辺の単純無向グラフが与えられます。NN 個の頂点はそれぞれ頂点 11 、頂点 22\ldots 、頂点 NN と呼ばれます。 i=1,2,,Mi = 1, 2, \ldots, M について、ii 番目の辺は頂点 uiu_i と頂点 viv_i を結んでいます。 また、i=1,2,,Ni = 1, 2, \ldots, N について、頂点 ii には整数 ii が書かれています。

QQ 個のクエリが与えられます。 i=1,2,,Qi = 1, 2, \ldots, Q について、ii 番目のクエリは整数 xix_i で表されます。 ii 番目のクエリでは以下の操作をおこないます。

  1. 頂点 xix_i に書かれている整数を XX とおく。
  2. 頂点 xix_i と隣接するすべての頂点について、それに書かれた整数を XX に書き換える。

ただし、頂点 uu と頂点 vv が隣接するとは、頂点 uu と頂点 vv を結ぶ辺が存在することを言います。

入力で与えられる順にすべてのクエリを処理した後の時点における、各頂点に書かれた整数をそれぞれ出力して下さい。

制約

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 0Mmin(2×105,N(N1)/2)0 \leq M \leq \min(2 \times 10^5, N(N-1)/2)
  • 1Q2×1051 \leq Q \leq 2 \times 10^5
  • 1ui,viN1 \leq u_i, v_i \leq N
  • 1xiN1 \leq x_i \leq N
  • 与えられるグラフは単純である。すなわち、自己ループや多重辺は存在しない。
  • 入力はすべて整数

入力

入力は以下の形式で標準入力から与えられる。

NN MM QQ

u1u_1 v1v_1

u2u_2 v2v_2

\vdots

uMu_M vMv_M

x1x_1 x2x_2 \ldots xQx_Q

出力

すべてのクエリを処理した後の時点における、各頂点に書かれた整数を以下の形式で空白区切りで出力せよ。 ただし、i=1,2,,Ni = 1, 2, \ldots, N について AiA_i は頂点 ii に書かれた整数を表す。

A1A_1 A2A_2 \ldots ANA_N

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

それぞれのクエリでは以下のような操作が行われます。

  • 11 番目のクエリ (x1=1)(x_1 = 1) : 頂点 11 に書かれた整数は 11 であり、頂点 11 に隣接する頂点は頂点 22 と頂点 55 です。 よって、頂点 22 と頂点 55 に書かれた整数がそれぞれ 11 に書き換えられます。
  • 22 番目のクエリ (x2=3)(x_2 = 3) : 頂点 33 に書かれた整数は 33 であり、頂点 33 に隣接する頂点は頂点 22 と頂点 44 です。よって、頂点 22 と頂点 44 に書かれた整数がそれぞれ 33 に書き換えられます。
  • 33 番目のクエリ (x3=4)(x_3 = 4) : 頂点 44 に書かれた整数は 33 であり、頂点 44 に隣接する頂点は頂点 22 、頂点 33 、頂点 55 です。よって、頂点 22 、頂点 33 、頂点 55 に書かれた整数がそれぞれ 33 に書き換えられます。 (頂点 22 と頂点 33 にはすでに 33 が書かれているので、書かれた整数が実際に変更されるのは頂点 55 のみです。)
14 14 8
7 4
13 9
9 8
4 3
7 2
13 8
12 8
11 3
6 3
7 14
6 5
1 4
10 13
5 2
2 6 12 9 1 10 5 4
1 6 1 1 6 6 1 9 9 10 11 12 10 14