使用并查集,来记录所有人的关系 再将每个人的顶送入set中,set的长度就是班级数量 再用一个循环找到最大班级即可 #include <bits/stdc++.h> using namespace std; const int N = 100010; int st[N], f[N], s[N], n, m; set<int> ss; void init(int n) { for (int i = 1; i < n; i++) { // 初始化 f[i] = i; s[i] = 1; } } int find(int i) { int size...