#include <iostream>
#include <cstdio>
using namespace std;
int father[20010]; //father[i]表示i的父亲
int Find(int a) //查找其父亲并压缩路径
{
if(father[a] != a)
father[a] = Find(father[a]);
return father[a];
}
int main()
{
int N,M;
int a,b;
scanf("%d%d",&N,&M);
//给每个元素建立一个集合
for(int i = 1 ; i <= N ; ++i)
father[i] = i;
//合并
for(int i = 0 ; i < M ; ++i)
{
scanf("%d%d",&a,&b);
a = Find(a);
b = Find(b);
father[a] = b;
}
//查询
scanf("%d",&M);
while(M--)
{
scanf("%d%d",&a,&b);
a = Find(a);
b = Find(b);
if(a == b)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有