记录编号 |
333471 |
评测结果 |
AAAAAAAAAAAA |
题目名称 |
亲戚 |
最终得分 |
100 |
用户昵称 |
Zwoi_只会打表抄代码的蒟蒻 |
是否通过 |
通过 |
代码语言 |
C |
运行时间 |
0.230 s |
提交时间 |
2016-10-30 20:02:25 |
内存使用 |
0.37 MiB |
显示代码纯文本
#include <stdio.h>
int q,i,m,n,k,x,y,t[20010],x1,y1;
int find(int x)
{
int r,i,j;
r=i=x;
while(t[r]!=r)
r=t[r];
while(t[i]!=r)
{
j=t[i];
t[i]=r;
i=j;
}
return r;
}
void mix(int x,int y)
{
int fx,fy;
fx=find(x);
fy=find(y);
if(fx!=fy)
t[fx]=fy;
}
int main()
{
freopen("relations.in","r",stdin);
freopen("relations.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)
t[i]=i;
for(i=1;i<=m;i++)
{
scanf("%d%d",&x,&y);
mix(x,y);
}
scanf("%d",&k);
for(i=1;i<=k;i++)
{
scanf("%d%d",&x,&y);
if(find(x)==find(y))
printf("Yes\n");
else printf("No\n");
}
return 0;
}