10分,what???
  • 板块P2078 朋友
  • 楼主IAKIOI66666
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/6/15 22:57
  • 上次更新2024/6/16 10:51:01
查看原帖
10分,what???
1343308
IAKIOI66666楼主2024/6/15 22:57
#include<bits/stdc++.h>
using namespace std;
int n,m,p,q,ans=1,ans2=1,fp[100010],fq[10010];
int find_p(int a){
	if(a==fp[a])return a;
	return fp[a]=find_p(fp[a]);
}
int find_q(int a){
	if(a==fq[a])return a;
	return fq[a]=find_q(fq[a]);
}

int main(){
	cin>>n>>m>>p>>q;
	for(int i=1;i<=n;i++)fp[i]=i;
	for(int i=1;i<=m;i++)fq[i]=i;
	for(int i=1;i<=p;i++){
		int x,y;
		cin>>x>>y;
		fp[find_p(x)]=find_p(x);
	}
	for(int i=1;i<=q;i++){
		int x,y;
		x=abs(x),y=abs(y);
		cin>>x>>y;
		fq[find_q(y)]=find_q(x);
	}
	for(int i=1;i<=p;i++)
		if(find_p(fp[i])==find_p(fp[1]))ans++;
	for(int i=1;i<=q;i++)
		if(find_q(fq[i])==find_q(fq[1]))ans2++;
	cout<<min(ans,ans2)<<endl;
    return 0;
}
2024/6/15 22:57
加载中...