#Z2506. 最大连通块
最大连通块
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
const int N = 20005;
int n, m, cnt, ans;
bool vis[N];
vector<int> G[N];
void dfs(int u) { // 请完善 dfs 函数
}
int main() {
cin >> n >> m;
for (int i = 0; i < m; i++) {
int u, v;
cin >> u >> v;
G[u].push_back(v);
G[v].push_back(u);
}
for (int i = 1; i <= n; i++) {
if (!vis[i]) {
cnt = 0;
dfs(i);
ans = max(ans, cnt);
}
}
cout << ans << endl;
return 0;
}
输入一个无向图,求图中最大的连通块里边有多少个点。
输入格式
输入第一行两个整数 ,表示图的点的数量和边的数量,两数之间以一个空格分隔。
接下来 m 行,每行两个整数 ,表示一条无向边,两数之间以一个空格分隔。
输出格式
输出一行一个整数,表示图中最大的连通块中点的个数。
输出时每行末尾的多余空格,不影响答案正确性
样例输入复制
5 4
2 3
4 1
5 2
2 2
样例输出复制
3