#include<bits/stdc++.h>
using namespace std;
int father[100005];
int n;
void init(){
for(int i=1;i<=n;i++){
father[i]=i;
}
}
int getfather(int x){
if(father[x]==x){
return x;
}
father[x]=getfather(father[x]);
return father[x];
}
int fun(int x,int y){
father[getfather(x)]=getfather(y);
}
int main(){
int m,a,b;
cin>>n>>m;
init();
while(m--){
cin>>a>>b;
if(getfather(a)!=getfather(b)){
fun(a,b);
}
}
int x,y;
cin>>x>>y;
if(getfather(x)==getfather(y)){
cout<<"YES";
}else{
cout<<"NO";
}
return 0;
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:1327 |
输出正反三角形 (C语言代码)格式错误!!!浏览:1177 |
C语言训练-阶乘和数* (C语言代码)-------- 呆板写法浏览:1396 |
1162答案错误,为什么浏览:700 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:856 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:871 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:1207 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:399 |
简单的a+b (C语言代码)浏览:587 |
C语言程序设计教程(第三版)课后习题6.7 (C语言代码)浏览:527 |