记录编号 224337 评测结果 AAAAAAAAAAAA
题目名称 亲戚 最终得分 100
用户昵称 GravatarSOBER GOOD BOY 是否通过 通过
代码语言 C++ 运行时间 0.716 s
提交时间 2016-02-16 10:01:01 内存使用 0.40 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
int n,father[21000];
bool panduan(int,int);
void hebing(int,int);
int Findroot(int);
int main()
{
	freopen("relations.in","r",stdin);
	freopen("relations.out","w",stdout);
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		father[i]=i;
	}
	for(int i=1;i<=m;i++)
	{
		int x,y;
		cin>>x>>y;
		if(panduan(x,y))
		continue;
		else hebing(Findroot(x),Findroot(y));
	}
	int q;
	cin>>q;
	for(int i=1;i<=q;i++)
	{
		int x,y;
		cin>>x>>y;
		if(panduan(x,y)) puts("Yes");
		else puts("No");
	}
}
bool panduan(   int a,  int  b)
{
	return Findroot(a)==Findroot(b);
}
void hebing(int ra,int rb)
{
	father[ra]=father[rb];
}
int Findroot( int x)
{
	if(father[x]!=x)
	{
		father[x]=Findroot(father[x]);
	}
	return father[x];
}