NAPC 2025 OPEN 2026/03/27 09:00 ~ 2026/03/27 14:15 5:15:00.000

U Coloring Graph

問題
制限時間: 4 sec メモリ制限: 2048 MB
problem
問題文

頂点に $1$ から $N$ の番号が、辺に $1$ から $M$ の番号がついた、 $N$ 頂点 $M$ 辺の単純無向グラフが与えられます。 辺 $i$ は頂点 $u_i$ と $v_i$ を結んでいます。 各頂点は色 $0, \ldots, K$ のいずれかの色で塗られます。はじめ、すべての頂点は色 $0$ で塗られています。

Shika君は $(1,\ldots,K)$ を並び替えた順列 $P=(P_1,\ldots,P_K)$ を決め、 $i=1,\ldots,K$ の順で以下の操作を行います。

<$i$ 番目の操作>

  • 非空かつ連結な頂点集合を $1$ つ選び、その集合に属するすべての頂点を色 $P_i$ で塗りなおす。

ここで、非空な頂点集合 $V$ が連結であるとは、 $V$ に属する頂点と、両端点がいずれも $V$ に属するような辺をすべて集めてできるグラフが連結であることをいいます。

すべての操作が終わったあと、頂点 $1,\ldots,N$ はそれぞれ 色 $C_1,\ldots,C_N$ で塗られていました。 このようなことがあり得るような長さ $K$ の順列 $P$ が存在するかを判定し、存在するなら $1$ つ構築してください。

$T$ 個のテストケースが与えられるので、それぞれについて解いてください。

制約
  • 入力は全て整数
  • $1\leq T\leq 2\times 10^5$
  • $1\leq N\leq 2\times 10^5$
  • $0\leq M\leq \min(N(N-1)/2, 2\times 10^5)$
  • $1\leq u_i, v_i\leq N$
  • $u_i \ne v_i$
  • $i\ne j\Rightarrow \{u_i,v_i\} \ne \{u_j,v_j\}$
  • $1\leq K\leq 2\times 10^5$
  • $0\leq C_i\leq K$
  • ひとつの入力ファイルに含まれる $N$ の総和は $2\times 10^5$ を超えない
  • ひとつの入力ファイルに含まれる $M$ の総和は $2\times 10^5$ を超えない
  • ひとつの入力ファイルに含まれる $K$ の総和は $2\times 10^5$ を超えない
入力

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

$T$
$case_1$
$case_2$
$\vdots$
$case_T$

ただし、 $case_i$ は $i$ 個目のテストケースを表し、以下の形式で与えられます。

$N$ $M$ $K$
$u_1$ $v_1$
$u_2$ $v_2$
$\vdots$
$u_M$ $v_M$
$C_1$ $C_2$ $\ldots$ $C_N$
出力

$T$ 個のテストケースそれぞれについて、順に以下のように出力してください。

$P$ が存在しない場合は、 No を出力してください。 $P$ が存在する場合、まず、 Yes を出力して改行してください。 その後、 $P=(P_1,P_2,\ldots,P_K)$ を以下のように空白区切りで出力してください。

$P_1$ $P_2$ $\ldots$ $P_K$

最後に改行してください。

入力例 1
5
5 4 3
1 2
2 3
2 4
4 5
1 2 2 3 1
3 0 2
1 2 0
4 0 2
1 2 0 1
4 0 2
1 2 0 0
9 10 7
3 6
1 2
3 4
9 5
4 1
1 8
9 3
1 5
4 6
7 4
7 2 2 2 1 3 7 3 6
出力例 1
Yes
1 3 2
Yes
2 1
No
Yes
2 1
No

$1$ つ目のテストケースについて、 $P=(1,3,2)$ とすると、例えば以下のように色を塗ることができます。

  1. 頂点集合 $\{1,2,3,4,5\}$ を選び、 集合に含まれる頂点の色を色 $1$ で塗りなおす。
  2. 頂点集合 $\{2,4\}$ を選び、集合に含まれる頂点の色を色 $3$ で塗りなおす。
  3. 頂点集合 $\{2,3\}$ を選び、集合に含まれる頂点の色を色 $2$ で塗りなおす。