问题陈述
一个社交网络中有 N 个用户 - 用户 1,用户 2,⋯,用户 N。
在这 N 个用户之间,存在一些关系 - M 个「友谊」和 K 个「屏蔽关系」。
对于每个 i=1,2,⋯,M,用户 Ai 和用户 Bi 之间存在双向友谊。
对于每个 i=1,2,⋯,K,用户 Ci 和用户 Di 之间存在双向屏蔽关系。
当满足以下四个条件时,我们定义用户 a 是用户 b 的「朋友候选人」:
- a=b。
- 用户 a 和用户 b 之间不存在友谊关系。
- 用户 a 和用户 b 之间不存在屏蔽关系。
- 存在一个由整数 1 到 N(包括)组成的序列 c0,c1,c2,⋯,cL,满足 c0=a,cL=b,并且对于每个 i=0,1,⋯,L−1,用户 ci 和 ci+1 之间存在友谊关系。
对于每个用户 i=1,2,...,N,它有多少个朋友候选人?
约束条件
- 输入中的所有值都是整数。
- 2≤N≤105
- 0≤M≤105
- 0≤K≤105
- 1≤Ai,Bi≤N
- Ai=Bi
- 1≤Ci,Di≤N
- Ci=Di
- (Ai,Bi)=(Aj,Bj)(i=j)
- (Ai,Bi)=(Bj,Aj)
- (Ci,Di)=(Cj,Dj)(i=j)
- (Ci,Di)=(Dj,Cj)
- (Ai,Bi)=(Cj,Dj)
- (Ai,Bi)=(Dj,Cj)
输入
输入以以下格式从标准输入中给出:
N M K
A1 B1
⋮
AM BM
C1 D1
⋮
CK DK
输出
按顺序打印答案,用空格隔开。
示例输入 1
4 4 1
2 1
1 3
3 2
3 4
4 1
示例输出 1
0 1 0 1
用户 2 和用户 3 之间有友谊关系,以及用户 3 和用户 4 之间也有友谊关系。此外,用户 2 和用户 4 之间既没有友谊关系也没有屏蔽关系。因此,用户 4 是用户 2 的朋友候选人。
然而,用户 1 和用户 3 都不是用户 2 的朋友候选人,所以用户 2 只有一个朋友候选人。
示例输入 2
5 10 0
1 2
1 3
1 4
1 5
3 2
2 4
2 5
4 3
5 3
4 5
示例输出 2
0 0 0 0 0
每个人都是彼此的朋友,没有朋友候选人。
示例输入 3
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
示例输出 3
1 3 5 4 3 3 3 3 1 0