RE 10分
  • 板块P2078 朋友
  • 楼主wyc208
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/4/11 22:59
  • 上次更新2024/4/12 13:58:07
查看原帖
RE 10分
945386
wyc208楼主2024/4/11 22:59
#include<bits/stdc++.h>
#define int long long
using namespace std;
int fa[20005];
int fd(int r)
{
	if(fa[r]==r)return r;
	fa[r]=fd(fa[r]);
	return fd(fa[r]);
}
void jn(int x,int y)
{
	int fx=fd(x),fy=fd(y);
	fa[fy]=fx;
}
signed main()
{
	int m,n,p,q,ansh=0,anss=0;
	cin>>n>>m>>p>>q;
	for(int i=1;i<=n+m;i++)fa[i]=i;
	for(int i=1;i<=p;i++)
	{
		int x,y;
		cin>>x>>y;
        jn(x,y);
	}
    for(int i=1;i<q;i++)
	{
		int x,y;
		cin>>x>>y;
        x=abs(x)+n;
        y=abs(y)+n;
        jn(x,y);
	}
    for(int i=1;i<n;i++)
	{
		int x,y;
		cin>>x>>y;
		int fx=fd(x),fy=fd(y);
		if(fx==fy)
			ansh++;
	}
    for(int i=n+1;i<n+m;i++)
	{
		int x,y;
		cin>>x>>y;
		int fx=fd(x),fy=fd(y);
		if(fx==fy)
			anss++;
	}
    cout<<min(ansh,anss);
	return 0;
}
2024/4/11 22:59
加载中...