AcWing 5. 合根植物
原题链接
简单
作者:
YMYS
,
2025-03-26 22:06:20
·河南
,
所有人可见
,
阅读 3
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 1e3+10;
int m;
int n;
int k;
int p[N*N];
int find(int x){
if(p[x] != x) p[x] = find(p[x]);
return p[x];
}
signed main()
{
cin>>n>>m;
for(int i=1;i<=n*m;i++) p[i] = i;
int k;
cin>>k;
while(k--){
int a,b;
cin>>a>>b;
int da = find(a), db = find(b);
if(da != db){
p[da] = find(db);
}
}
int res = 0;
for(int i=1;i<=n*m;i++){
if(p[i] == i) res++;
}
cout<<res<<endl;
return 0;
}