编辑代码

#include <bits/stdc++.h>
using namespace std;
int fa[30020], CountAll[30020];

void init(int n) {
	for(int i = 1; i <= n; ++i) {
		fa[i] = i;
        CountAll[i] = 1;
	}
}

int find(int i) {
	if(i == fa[i]) return i;
	else {
		fa[i] = find(fa[i]);
		return fa[i];
	}
}

void union1(int a, int b) {
	int afa = find(a), bfa = find(b);
	if(afa != bfa) fa[afa] = bfa, CountAll[bfa] += CountAll[afa];
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
	int N, M, Mi, maxCount = 0;
	cin >> N >> M;
	init(N);
	for(int i = 1; i <= M; ++i) {
        int a, b;
		cin >> Mi >> a;
		for(int j = 1; j <= Mi-1; ++j) {
			cin >> b;
		    union1(a, b);
            a = b;
		}
	}
	for(int i = 1; i <= N; ++i) {
        maxCount = max(maxCount, CountAll[i]);
	}
	cout << maxCount;
}