#3386. 派对(简单版)
派对(简单版)
题目描述
为了庆祝第二届 ABBYY Cup,聪明的海狸决定办一场派对。海狸有许多熟人,其中一些人互为朋友,另一些人互相讨厌。为了让派对圆满,海狸只想邀请那些由朋友关系连成一片的熟人,且不邀请任何互相讨厌的人。朋友关系和讨厌关系都是相互的。
更严格地说,对每一位被邀请者,以下条件必须全部满足:
- 他的所有朋友也都被邀请到派对;
- 派对上不能出现任何他讨厌的人;
- 所有被邀请者都要与他是直接朋友,或通过任意长度的共同朋友链条相连。我们说两个人 与 通过共同朋友链条相连,是指存在一列人 ,使得每一对人 与 ()都互为朋友。
请帮海狸求出他最多能邀请多少名熟人。
输入格式
输入的第一行包含一个整数 ,表示海狸的熟人数。
第二行包含一个整数 (),表示朋友对数。接下来 行,每行两个用空格隔开的整数 (,),表示第 对朋友的编号。
接下来一行包含一个整数 (),表示互相讨厌的人的对数。接下来 行以与朋友对相同的格式描述互相讨厌的人。
每一对人在输入中最多出现一次()。特别地,两个人不可能既是朋友又互相讨厌。
获得 30 分的数据满足:。
获得 100 分的数据满足:。
输出格式
输出一个数,表示最多能邀请的人数。如果无法选出满足全部条件的人群,输出 0。
9
8
1 2
1 3
2 3
4 5
6 7
7 8
8 9
9 6
2
1 6
7 9
3
说明/提示
让我们看看样例。
可以邀请两组人: 和 ,因此答案是其中较大一组的人数。 不满足条件,因为它包含互相讨厌的 7 和 9; 也不满足,因为并非所有成员都通过共同朋友链条相连(例如 2 和 5 之间不连通)。