#D1008. 敌人的敌人

敌人的敌人

题目描述

33DAI 所在的村庄有 nn 个村民,编号从 11 到 nn。村里有 mm 对仇人,仇人关系是相互的:如果 aa 和 bb 是仇人,那么 bb 和 aa 也是仇人;同一对村民至多出现一次。

消息只能在不是仇人的两个村民之间直接传递。33DAI 想知道:

  • 全村一共形成了多少个互不传话的网络(即:把"不是仇人"当作可以连通的边,图中有多少个连通块);
  • 其中最大的网络包含多少个村民。

输入格式

第一行两个整数 nn 和 mm。

接下来 mm 行,每行两个整数 u,vu, v(1≤u<v≤n1 \le u < v \le n),表示 uu 和 vv 是仇人。

输出格式

输出一行两个整数,用一个空格隔开:

  • 第一个整数表示互不传话的网络个数;
  • 第二个整数表示最大的网络包含的村民人数。
4 3
1 2
1 3
1 4
2 3

样例 1 解释

11 号村民和所有人都结了仇,所以他能直接传话的人一个也没有,单独成为一个网络,大小为 11。

2,3,42, 3, 4 号村民两两都不是仇人,他们组成一个大小为 33 的网络。

因此一共有 22 个网络,最大的网络有 33 个人,输出 2 3。

3 2
1 2
2 3
2 2

样例 2 解释

11 和 33 不是仇人,可以直接传话,组成一个大小为 22 的网络;22 号村民和 11、33 都是仇人,单独成为一个网络。

因此一共有 22 个网络,最大的网络有 22 个人,输出 2 2。

样例 3

见 foe3.in 与 foe3.ans。

样例 4

见 foe4.in 与 foe4.ans。

数据范围

对于全部测试数据,保证:

  • 1≤n≤20001 \le n \le 2000;
  • 0≤m≤n(n−1)20 \le m \le \frac{n(n-1)}{2};
  • 每条仇人关系满足 1≤u<v≤n1 \le u < v \le n,且同一对村民至多出现一次。

子任务

本题共 20 个测试点,按测试点计分:

测试点 分值 每个测试点 特殊限制
1∼61 \sim 6 3030 55 n≤20n \le 20
7∼127 \sim 12 n≤200n \le 200,仇人图为链、菊花、完全图等特殊形状
13∼2013 \sim 20 4040 无额外限制

每个测试点单独评分,全部测试点的得分之和即为本题得分。