/*UVa 10608 Friends 并查集*/
import java.util.Scanner;
class Main {
static final int MAXN = 30005;
static int[] fa = new int[MAXN];
static int[] count = new int[MAXN];
static int n, m;
static int c;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
c = scanner.nextInt();
while (c > 0) {
c--;
n = scanner.nextInt();
m = scanner.nextInt();
for (int i = 1; i <= n; i++) {
fa[i] = i;
count[i] = 0;
}
for (int i = 1; i <= m; i++) {
int u = scanner.nextInt();
int v = scanner.nextInt();
int x = find(u);
int y = find(v);
if (x != y)
fa[x] = y;
}
int max = 0;
for (int i = 1; i <= n; i++) {
int t = find(i);
count[t]++;
max = Math.max(max, count[t]);
}
System.out.println(max);
}
}
private static int find(int x) {
return fa[x] == x ? x : find(fa[x]);
}
}
UVa 10608 Friends
最新推荐文章于 2018-05-07 15:49:37 发布