```cpp
#include<iostream>#include<cstdio>#include<cmath>
using namespace std;
int x,y;int fa[100005],fb[100005];
int m,n,p,q,a=0,b=0;char z;
int find1(int x){return x==fa[x]?x:fa[x]=find1(fa[x]);}
int find2(int x){return x==fb[x]?x:fb[x]=find2(fb[x]);}
int main(){
cin>>n>>m>>p>>q;
for(int i=1;i<=n;i++){fa[i]=i;}
for(int i=1;i<=m;i++){fb[i]=i;}
for(int i=1;i<=p;i++){cin>>x>>y;fa[find1(y)]=find1(x);}
for(int i=1;i<=q;i++){cin>>x>>y;fb[find2(-1*y)]=find2(-1*x);}
for(int i=1;i<=n;i++){if(fa[i]==1) a++;}
for(int i=1;i<=m;i++){if(fb[i]==1) b++;}
cout<<min(a,b);return 0;}
```
by tt14159 @ 2018-05-09 13:14:53
谢谢大佬们
by tt14159 @ 2018-05-09 13:15:15
@[tt14159](/user/23297) 做法一模一样,20分一模一样……
by lzqy_ @ 2020-03-21 15:52:28