#1172. How Many Tables

How Many Tables

题目描述

今天是 Ignatius 的生日,他邀请了许多朋友。晚餐时间到了,他想知道至少需要多少张桌子。需要注意的是,并不是所有朋友都互相认识,而且朋友们不愿意和陌生人同桌。

一个重要规则是:如果告诉你 A 认识 B,B 认识 C,那么 A、B、C 互相认识,可以坐在一张桌子上。

例如:如果告诉你 A 认识 B,B 认识 C,D 认识 E,那么 A、B、C 可以坐在一张桌子上,而 D 和 E 必须坐在另一张桌子上。所以 Ignatius 至少需要 22 张桌子。

输入格式

输入以一个整数 TT 开始(1T251 \leq T \leq 25),表示测试用例的数量。接下来是 TT 组测试用例。

每个测试用例以两个整数 NNMM 开始(1N,M10001 \leq N, M \leq 1000)。
NN 表示朋友的数量,这些朋友从 11NN 编号。接下来有 MM 行,每行包含两个整数 AABBABA \neq B),表示朋友 AA 和朋友 BB 互相认识。

两个测试用例之间有一个空行。

输出格式

对于每个测试用例,输出 Ignatius 至少需要的桌子数量。不要输出任何多余的空格或换行。

测试样例

2
5 3
1 2
2 3
4 5

3 1
1 2
2
2

解释

  • 第一个测试用例中,有两组朋友:{1, 2, 3} 和 {4, 5},需要 2 张桌子。
  • 第二个测试用例中,有两组朋友:{1, 2} 和 {3},需要 2 张桌子。