100 atcoder#ABC157D. [ABC157D] Friend Suggestions

[ABC157D] Friend Suggestions

配点 : 400400

問題文

とあるSNSに、人 11 、人 22\cdots、人 NN が登録しています。

この NN 人の間には、 MM 組の「友達関係」と、 KK 組の「ブロック関係」が存在します。

i=1,2,,Mi = 1, 2, \cdots, M について、人 AiA_i と人 BiB_i は友達関係にあります。この関係は双方向的です。

i=1,2,,Ki = 1, 2, \cdots, K について、人 CiC_i と人 DiD_i はブロック関係にあります。この関係は双方向的です。

以下の 44 つの条件が満たされるとき、人 aa は人 bb の「友達候補」であると定義します。

  • aba \neq b である。
  • aa と人 bb はブロック関係に無い。
  • aa と人 bb は友達関係に無い。
  • 11 以上 NN 以下の整数から成るある数列 c0,c1,c2,,cLc_0, c_1, c_2, \cdots, c_L が存在し、c0=ac_0 = a であり、 cL=bc_L = b であり、 i=0,1,,L1i = 0, 1, \cdots, L - 1 について、人 cic_i と人 ci+1c_{i+1} は友達関係にある。

i=1,2,...Ni = 1, 2, ... N について、友達候補の数を答えてください。

制約

  • 入力は全て整数
  • 2N1052 \leq N \leq 10^5
  • 0M1050 \leq M \leq 10^5
  • 0K1050 \leq K \leq 10^5
  • 1Ai,BiN1 \leq A_i, B_i \leq N
  • AiBiA_i \neq B_i
  • 1Ci,DiN1 \leq C_i, D_i \leq N
  • CiDiC_i \neq D_i
  • (Ai,Bi)(Aj,Bj)(ij)(A_i, B_i) \neq (A_j, B_j) (i \neq j)
  • (Ai,Bi)(Bj,Aj)(A_i, B_i) \neq (B_j, A_j)
  • (Ci,Di)(Cj,Dj)(ij)(C_i, D_i) \neq (C_j, D_j) (i \neq j)
  • (Ci,Di)(Dj,Cj)(C_i, D_i) \neq (D_j, C_j)
  • (Ai,Bi)(Cj,Dj)(A_i, B_i) \neq (C_j, D_j)
  • (Ai,Bi)(Dj,Cj)(A_i, B_i) \neq (D_j, C_j)

入力

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

NN MM KK

A1A_1 B1B_1

\vdots

AMA_M BMB_M

C1C_1 D1D_1

\vdots

CKC_K DKD_K

出力

答えを空白区切りで順に出力せよ。

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

22 と人 33 は友達関係にあり, 人 33 と人 44 は友達関係にあり, かつ人 22 と人 44 は友達関係にもブロック関係にもありませんから, 人 44 は人 22の友達候補です。

11 と人 33 は人 22 の友達候補ではありませんから, 人 22 の友達候補は 11 人です。

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

全ての人は他の全ての人と友達関係にありますが、友達候補は 00 人です。

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