20分代码,求调
  • 板块P2078 朋友
  • 楼主ayst0001
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/7/22 22:26
  • 上次更新2024/7/23 08:42:25
查看原帖
20分代码,求调
728741
ayst0001楼主2024/7/22 22:26
#include <bits/stdc++.h>
using namespace std;
int n,m,p,q,x,y,wom,man;
int fa[10010],fam[10010];
int find(int x){
	return x==fa[x] ? x : (fa[x] = find(fa[x]));
}
int findm(int x){
	return x==fam[x] ? x : (fam[x] = findm(fam[x]));
}
void un(int x,int y){
	fa[find(x)]=find(y);
}
void unm(int x,int y){
	fam[findm(x)]=findm(y);
}
int main( ){
	cin>>n>>m>>p>>q;
	for(int i=1;i<=n;i++){
		fa[i]=i;
	}
	for(int i=1;i<=m;i++){
		fam[i]=i;
	}
	for(int i=1;i<=p;i++){
		cin>>x>>y;
		un(x,y);
	}
	for(int i=1;i<=q;i++){
		cin>>x>>y;
		x=-x;
		y=-y;
		unm(x,y);
	}
	for(int i=1;i<=n;i++){
		if(fa[i]==find(1)) man++;
	}
	for(int i=1;i<=m;i++){
		if(fam[i]==findm(1)) wom++;
	}
	cout<<min(man,wom);
	
	return 0;
}
2024/7/22 22:26
加载中...