20pts蒟蒻求调

P2078 朋友

```cpp #include <iostream> #include <algorithm> #include <stdio.h> #define ll long long #define MAXS 10005 using namespace std; int n,m,p,q; int xi,xj,yi,yj,ans1,ans2,f11[500005],f22[500005]; int find(int x){ if(x==f11[x]) return x; return f11[x]=find(f11[x]); } int find2(int x){ if(x==f22[x]) return x; return f22[x]=find2(f22[x]); } void join(int c1,int c2){ int f1=find(c1),f2=find(c2); if(f1!=f2) f11[f1]=f2; return; } void join2(int c1,int c2){ int f1=find2(c1),f2=find2(c2);//这里 if(f1!=f2) f22[f1]=f2; return; } int main(){ cin>>n>>m>>p>>q; for(int i=1;i<=n;i++) f11[i]=i; for(int i=1;i<=m;i++) f22[i]=i; for(int i=1;i<=p;i++){ cin>>xi>>xj; join(xi,xj); } for(int i=1;i<=q;i++){ cin>>yi>>yj; yi*=-1; yj*=-1; join2(yi,yj); } int t1=find(1),t2=find2(1);//这里 for(int i=1;i<=n;i++){ if(t1==find(i)) ans1++; } for(int i=1;i<=m;i++){ if(t2==find2(i)) ans2++; } printf("%d\n",min(ans1,ans2));//这里 return 0; } ``` 有几个地方find2函数错用为find了,给你改好了,你看一下
by BLG_Wu @ 2023-07-24 00:22:17


%%%%%orzorzorz本蒟蒻已AC,此贴终
by zyh0516_lucky @ 2023-07-24 13:25:11


|