#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 人评分
点我有惊喜!你懂得!浏览:2071 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:676 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:581 |
【计算直线的交点数】 (C语言代码)浏览:1442 |
最小公倍数 (C语言代码)浏览:1025 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:784 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:505 |
良心推荐——>题解1049:C语言程序设计教程(第三版)课后习题11.1 (C语言描述——简单明了,时间复杂度低)浏览:1273 |
找出最长的字符串来 (C语言代码)浏览:1762 |
printf基础练习 (C语言代码)浏览:1792 |