【HDU1272】小希的迷宫(并查集)
2017-10-08 19:23
288 查看
这道题几乎是并查集裸题。
就像 kruskal 建树一样,这道题也这么做。
但有两个很坑的细节:
1.测试数据可能给的不是一个连通图,因此最后要判一下所有点是否在同一集合中。
2.如果一组数据给的是空图,即只有 0,0 ,那么输出 yes 。
就这么多了。
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
const int N=100010;
int fa
;
bool vis
;
int find(int x){
if(x==fa[x]) return x;
return fa[x]=find(fa[x]);
}
int main(){
int u,v,total; bool ok;
while(scanf("%d%d",&u,&v)==2 && ~u){
if(u==0 && v==0){ puts("Yes"); continue; } // 细节2
total=0;
for(int i=1; i<=100000; ++i) fa[i]=i, vis[i]=false;
fa[u]=v;
vis[u] = vis[v] = true;
ok=true;
while(scanf("%d%d",&u,&v)==2 && u) if(ok){
if(find(u)==find(v)){ ok=false; continue; }
fa[find(u)] = find(v);
vis[u] = vis[v] = true;
}
// 细节1
for(int i=1; i<=100000; ++i) if(vis[i] && fa[i]==i && (++total)>1){ ok=false; break; }
if(ok) puts("Yes");
else puts("No");
}
return 0;
}
就像 kruskal 建树一样,这道题也这么做。
但有两个很坑的细节:
1.测试数据可能给的不是一个连通图,因此最后要判一下所有点是否在同一集合中。
2.如果一组数据给的是空图,即只有 0,0 ,那么输出 yes 。
就这么多了。
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
const int N=100010;
int fa
;
bool vis
;
int find(int x){
if(x==fa[x]) return x;
return fa[x]=find(fa[x]);
}
int main(){
int u,v,total; bool ok;
while(scanf("%d%d",&u,&v)==2 && ~u){
if(u==0 && v==0){ puts("Yes"); continue; } // 细节2
total=0;
for(int i=1; i<=100000; ++i) fa[i]=i, vis[i]=false;
fa[u]=v;
vis[u] = vis[v] = true;
ok=true;
while(scanf("%d%d",&u,&v)==2 && u) if(ok){
if(find(u)==find(v)){ ok=false; continue; }
fa[find(u)] = find(v);
vis[u] = vis[v] = true;
}
// 细节1
for(int i=1; i<=100000; ++i) if(vis[i] && fa[i]==i && (++total)>1){ ok=false; break; }
if(ok) puts("Yes");
else puts("No");
}
return 0;
}
相关文章推荐
- HDU1272 小希的迷宫 并查集入门||判环
- 小希的迷宫--hdu1272(并查集)
- kuangbin专题五 并查集 HDU1272 小希的迷宫
- 【hdu1272】 小希的迷宫 (并查集)
- hdu1272小希的迷宫 基础并查集
- hdu1272 小希的迷宫 ——并查集无向图判环
- hdu1272 小希的迷宫 并查集
- 小希的迷宫(hdu1272)并查集(有点坑)
- 并查集模板题 HDU1272 小希的迷宫
- ACM-并查集之小希的迷宫——hdu1272
- hdu1272 小希的迷宫 并查集
- HDU1272 小希的迷宫 - 并查集
- [并查集] hdu1272 小希的迷宫
- HDU1272小希的迷宫(并查集)
- 【并查集】hdu1272 小希的迷宫
- hdu1272 小希的迷宫(并查集判环)
- hdu1272(小希迷宫 并查集)
- HDU1272--小希的迷宫(并查集)
- 【并查集判环】HDU1272小希的迷宫【判环模板】
- HDU1272 小希的迷宫 并查集