记录编号 65219 评测结果 AAAAAAAAAAAA
题目名称 亲戚 最终得分 100
用户昵称 Gravatarraywzy 是否通过 通过
代码语言 C++ 运行时间 0.438 s
提交时间 2013-07-25 19:06:09 内存使用 0.36 MiB
显示代码纯文本
#include<fstream>
using namespace std;
ifstream fin("relations.in");
ofstream fout("relations.out");
int father[20001],n,m,q;
int getfather(int v)
{
	if(father[v]==v)
		return v;
	return father[v]=getfather(father[v]);
}
bool same(int x,int y)
{
	if(getfather(x)==getfather(y))
		return 1;
	else
		return 0;
}
void judge(int x,int y)
{
	int a,b;
	a=getfather(x);
	b=getfather(y);
	if(a==b)
		return;
	father[a]=b;
}
int main()
{
	fin>>n>>m;
	int i,x,y,a;
	bool K;
	for(i=1;i<=n;i++)
		father[i]=i;
	for(i=1;i<=m;i++)
	{
		fin>>x>>y;
		judge(x,y);
	}
	fin>>a;
	for(i=1;i<=a;i++)
	{
		fin>>x>>y;
		K=same(x,y);
		if(K==1)
			fout<<"Yes"<<endl;
		else
			fout<<"No"<<endl;
	}
	return 0;
}