题目描述
一个社交网络服务(SNS)有N个用户,依次编号为1,2,…,N。
在这个用户之间,存在一些关系,包括M个双向的好友关系和K个双向的屏蔽关系。
对于每个i=1,2,…⋅,M,编号为Ai的用户和编号为Bi的用户是好友关系。
对于每个i=1,2,⋅⋅⋅,K,编号为Ci,的用户和编号为Di的用户是屏蔽关系。
当同时满足以下四个条件时,我们定义用户a是用户b的好友候选:
a=b
用户a与用户b之间不存在好友关系
用户a与用户b之间不存在屏蔽关系,
存在一串整数构成的序列c0,c1,c2,……,cL,其中c0=a,cL=b,且对于每个i=0,1,…⋅,L−1,用户ci和用户ci+1之间存在好友关系。
对于每个用户i=1,2,….⋅,N,它有多少个好友候选?
输入格式
第一行输入三个正整数 N,M,K;
接下来 M 行,每行两个正整数 Ai,Bi,表示一对互相关注的用户;
再接下来 K 行,每行两个正整数 Ci,Di,表示一对互相拉黑的用户。
输出格式
输出用空格隔开的 N 个整数,第 i 个数表示用户 i 的“推荐用户”的数量。
4 4 1
2 1
1 3
3 2
3 4
4 1
0 1 0 1
样例解释
用户2和用户3之间存在好友关系,用户3和用户4之间也存在好友关系。此外,用户2和用户4之间既不存在好友关系,也不存在屏蔽关系。因此,用户2是用户4的好友候选。
然而,用户1和用户3都不是用户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
0 0 0 0 0
样例解释
每个人都是任何其他人的好友,所以没有好友候选。
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
提示
- 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)