题解
2026-08-26 22:19:03
发布于:江苏
3阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
long long ans=0,n,m;
long long maxn=0;
vector <int> v[200005];
bool vis[200005];
void dfs(int x){
vis[x]=true;
ans++;
for(int i=0;i<v[x].size();i++){
if(vis[v[x][i]])continue;
vis[v[x][i]]=true;
dfs(v[x][i]);
}
}
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
int x,y;
cin>>x>>y;
v[x].push_back(y);
v[y].push_back(x);
}
for(int i=1;i<=m;i++){
if(vis[i])continue;
ans=0;
dfs(i);
maxn=max(maxn,ans);
}
cout<<(maxn==0?1:maxn);//特判如果没有一个朋友圈就输出1
return 0;
}
这里空空如也



有帮助,赞一个