文章
82
粉丝
344
获赞
28
访问
696.0k
#include <iostream>
#include <algorithm>
#include <stack>
#include <string.h>
#include <stdio.h>
#include <queue>
#include <math.h>
using namespace std;
const int maxn=1005;
int f[maxn];
int vis[maxn];
void init(int n){
for(int i=1;i<=n;i++){
f[i]=i;
}
}
int find(int x){
if(x==f[x]) return x;
return f[x]=find(f[x]);
}
void merge(int x,int y){
x=find(x);
y=find(y);
if(x!=y){
f[x]=y;
}
}
int n,m;
int main(){
while(scanf("%d %d",&n,&m)!=EOF){
init(n);
for(int i=0;i<m;i++){
int x,y;
cin>>x>>y;
merge(x,y);
&n...
登录后发布评论
暂无评论,来抢沙发