比赛 15级练手赛 评测结果 AAAAAAAAAAAA
题目名称 亲戚 最终得分 100
用户昵称 瑆の時間~無盡輪迴·林蔭 运行时间 0.742 s
代码语言 C++ 内存使用 3.23 MiB
提交时间 2018-08-28 20:09:44
显示代码纯文本
#include<iostream>
#include<cstdio> 
#include<cmath>
using namespace std;
int we[20001]={0};
int find(int x)
{
	int rr=x;
	while(we[rr]!=rr)
	{
		rr=we[rr];
	}
	return rr;
}
void join(int x,int y)
{
	int fx=find(x);
	int fy=find(y);
	if(fx!=fy)
		we[fx]=we[fy];
	return;
}
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++)
	{
		we[i]=i;
	}
	int ci,di;
	for(int i=1;i<=m;i++)
	{
		cin>>ci>>di;
		we[di]=we[ci];
	}
	for(int i=1;i<=n;i++)
	{
		we[i]=find(we[i]);
	}
	int q;
	int ei,fi;
	cin>>q;
	for(int i=1;i<=q;i++)
	{
		cin>>ei>>fi;
		if(we[ei]==we[fi])
		{
			cout<<"Yes";
		}
		else
			cout<<"No";
	}
	return 0;
}