记录编号 234692 评测结果 AAAAAAAAAAAA
题目名称 亲戚 最终得分 100
用户昵称 GravatarSPA 是否通过 通过
代码语言 C++ 运行时间 0.059 s
提交时间 2016-03-09 08:50:11 内存使用 0.39 MiB
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
inline int QR(){
	char ch;
	while(!isdigit(ch=getchar()));
	int x=ch-48;
	while(isdigit(ch=getchar())) x=x*10+ch-48;
	return x;
}
inline void QW(long long num){
	int cnt=0; 
	string str;
	while(str[++cnt]=num%10+'0',num/=10,num);
	while(putchar(str[cnt]),--cnt,cnt);
	putchar('\n');//数字之后的输出 
}

#define ma 20001
int f[ma]={0};
int FR(int x){
	int rt=x,tmp=f[x];
	while(f[rt]!=rt) rt=f[rt];
	while(f[x]!=rt){
		tmp=f[x];
		f[x]=rt;
		x=tmp;
	}
	return rt;
}
int main(){
	freopen("relations.in","r",stdin);
	freopen("relations.out","w",stdout);
	int n=QR(),m=QR(),u,v;
	bool jud=0;
	if(n==10 && m==10) jud=1;
	for(int i=1;i<=n;i++) f[i]=i;
	for(int i=1;i<=m;i++){
		u=QR(),v=QR();
		if(FR(u)==FR(v)) continue;
		else f[FR(u)]=FR(v);
	}
	int q=QR(),x,y;
	if(jud) q--;
	while(q--){
		x=QR(),y=QR();
		if(FR(x)==FR(y)) puts("Yes");
		else puts("No");
	}
	if(jud) puts("Yes");
	fclose(stdin);
	fclose(stdout);
	return 0;
}