记录编号 |
65219 |
评测结果 |
AAAAAAAAAAAA |
题目名称 |
亲戚 |
最终得分 |
100 |
用户昵称 |
raywzy |
是否通过 |
通过 |
代码语言 |
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;
}