站外题求助
  • 板块题目总版
  • 楼主hexuchen
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/7/17 13:41
  • 上次更新2024/7/17 14:47:22
查看原帖
站外题求助
945742
hexuchen楼主2024/7/17 13:41

rt,代码:

#include <bits/stdc++.h>
using namespace std;
int n,m,p,x,y,f[5005];
int find(int x){
	if(x==f[x])
		return x;
	f[x]=find(f[x]);
	return f[x];
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		f[i]=i;
	}
	for(int i=1;i<=m;i++){
		cin>>x>>y;
		int fx=find(x),fy=find(y);
		if(fx!=fy){
			f[fx]=fy;
		}
	}
	int a=1,maxn=-1,num=0;
	for(int i=1;i<=n;i++){
		if(f[i]==i){
			maxn=max(maxn,a);
			a=1;
			num++;
		}
		else{
			a++;
		}
	}
	cout<<maxn<<' '<<num;
	return 0;
}
2024/7/17 13:41
加载中...