hdoj1272 小希的迷宫
来源:互联网 发布:淘宝网开店流程图解 编辑:程序博客网 时间:2024/05/17 20:23
并查集
= =、一开始判断连通,没有判断环,后来判断了环,没有判断连通。。。
还有就是一开始是0 0,也是Yes,有道理么?我不是很懂。。
#include <iostream>#include <stdio.h>#include <string.h>#include <stack>#include <queue>#include <map>#include <set>#include <vector>#include <math.h>#include <algorithm>using namespace std;#define LL long longconst double pi = acos(-1.0);#define Len 200005#define mod 19999997const int INF = 0x3f3f3f3f;#define exp 1e-6#define N 100020int pre[N];bool vis[N];void init(){ for(int i=1;i<=100000;i++) pre[i]=i; memset(vis,0,sizeof(vis));}int Find(int u){ int r=u; while(r!=pre[r]) { r=pre[r]; } int i=u,j; while(pre[i]!=r) { j=pre[i]; pre[i]=r; i=j; } return r;}int main(){ int a,b,aa,bb; while(1) { init(); int flag=0; scanf("%d%d",&a,&b); if(a==-1&&b==-1) break; if(!a&&!b) { printf("Yes\n"); continue; } vis[a]=vis[b]=1; aa=Find(a); bb=Find(b); if(aa!=bb) pre[aa]=bb; else flag=1; while(1) { scanf("%d%d",&a,&b); if(!a&&!b) break; vis[a]=vis[b]=1; aa=Find(a); bb=Find(b); if(aa!=bb) pre[aa]=bb; else flag=1; } int cnt=0; for(int i=1;i<=100000;i++) { if(pre[i]==i&&vis[i]) { cnt++; } } if(!flag&&cnt==1) printf("Yes\n"); else printf("No\n"); } return 0;}
0 0
- hdoj1272小希的迷宫
- hdoj1272小希的迷宫
- hdoj1272 小希的迷宫
- hdoj1272小希的迷宫
- 小希的迷宫<hdoj1272>
- hdoj1272-小希的迷宫
- HDOJ1272~小希的迷宫~并查集
- hdoj1272小希的迷宫(并查集)
- HDOJ1272 小希的迷宫(并查集)
- 并查集基础-----HDOJ1272-----小希的迷宫
- hdoj1272 小希的迷宫 裸并查集
- 小希的迷宫
- 小希的迷宫
- 小希的迷宫
- 小希的迷宫
- 小希的迷宫
- 小希的迷宫
- 小希的迷宫
- MySQL单表百万数据记录分页性能优化
- 【bzoj1051】【HAOI2006】【受欢迎的牛】【强连通分量】
- 【分治基础】小车问题
- 使用 RMI + ZooKeeper 实现远程调用框架
- java制作透明窗体(类似PS欢迎界面 )
- hdoj1272 小希的迷宫
- 想法很多,却又困于现状
- Java远程通讯技术及原理分析
- Androi通用的流行框架
- PO类(持久化类)
- Application Transport Security has blocked a cleartext HTTP (http://) resource load since it is ins
- Chrome浏览器之 Postman 安装
- 聊聊Socket、TCP/IP、HTTP、FTP及网络编程
- js——Dom对象,控制html