并查集--判断图的连通性;
1.图连通,其连通分量一定不大于1;
2.并查集模板;
int n,m;
int father[N];
int Find(int x){
if(father[x]==-1)
return x;
return father[x]=Find(father[x]);
}
void Union(int x,int y){
x=Find(x);
y=Find(y);
if(x!=y)
father[x]=y;
}
int main(){
memset(father,-1,sizeof(father));
scanf("%d%d",&n,&m);
for(int i=1;i<=m;i++){
int x,y;
scanf("%d%d",&x,&y);
Union(x,y);
}
int cnt=0;//记录连通分量
for(int i=1;i<=n;i++)
if(Find(i)==i)
cnt++;
printf("%d\n",cnt);
return 0;
}