为什么我的代码错了
  • 板块P1551 亲戚
  • 楼主恨天剑仙
  • 当前回复2
  • 已保存回复2
  • 发布时间2020/12/6 08:46
  • 上次更新2023/11/5 06:33:34
查看原帖
为什么我的代码错了
446185
恨天剑仙楼主2020/12/6 08:46
#include<iostream>
using namespace std;
const int maxn=5000+10;
int fa[maxn];
 int findfa(int x)
 {
 	if(x==fa[x])
      return x;
      return fa[x]=findfa(fa[x]);
  }   
 void unionset(int x,int y)
  {
  	int a=findfa(x);
  	int b=findfa(y);
  	if(a==b)
  	return;
  	fa[y]=a;
  }
  int main(){
  	int n,m,p;
  	cin>>n>>m>>p;
  	    for(int i=1;i<=n;i++)
  	      fa[i]=i;
	    for(int i=0;i<m;i++)
	   {
	   	    int a,b;
	   	    cin>>a>>b;
	   	    unionset(a,b);
	   }
	   for(int i=0;i<p;i++)
	   {
	   	int c,d;
	   	cin>>c>>d;
	   	int a=findfa(c);
	   	int b=findfa(d);
	   	if(a==b)
	   	cout<<"Yes"<<endl;
	   	else cout<<"No"<<endl;
	   }
	   return 0;
  	
  }
2020/12/6 08:46
加载中...