哪里错了,帮看,谢谢
查看原帖
哪里错了,帮看,谢谢
901475
Ginaaaa楼主2023/3/27 17:05
#include<bits/stdc++.h>
using namespace std;
int m,n,f[10050],k,ans=0,a,b;
int find(int x){
	if(f[x]!=x) f[x]=find(f[x]);
	return f[x];
}
int main(){
	scanf("%d %d",&m,&n);
	for(int i=1;i<=m*n;i++) f[i]=i;
    scanf("%d",&k);
    for(int i=1;i<=k;i++)
    {
    	scanf("%d %d",&a,&b);
    	int fx=find(a),fy=find(b);
    	f[fx]=fy;
	}
	for(int i=1;i<=m*n;i++){
		if(f[i]=i) ans++;
	}   
	 printf("%d",ans);
	return 0;
}
2023/3/27 17:05
加载中...