hdu 1272 小希的迷宫
来源:互联网 发布:淘宝店铺标志尺寸 编辑:程序博客网 时间:2024/06/18 11:18
hdu 1272 小希的迷宫
要点: 任意两个房间有且仅有一条路径可以相通。
1.不能形成环。
2.只能有一棵树,不能有多颗树。
//1272 并查集 已过 #include<iostream>#include<string.h>using namespace std;#define Maxn 100005 int pre[100005];int used[Maxn];int m,flag;int find(int x){ while(pre[x]!=x) { x=pre[x]; } //int i=x,j; //while(i!=r) //{ // j=pre[i]; // pre[i]=r; // i=j; //} return x; } int join(int x,int y) { int fx=find(x),fy=find(y); if(fx==fy) return 0; else pre[fx]=fy; return 1;}int main(){ int t;//t表示当前点数和边数的差值; flag表示有几个根 有一个根代表是联通的 int m,n; while(scanf("%d %d",&m,&n)==2) { if(m==-1&&n==-1) return 0; if(m==0&&n==0) { cout<<"Yes"<<endl; continue; } for(int i=1;i<Maxn;i++) pre[i]=i;//必须每次都有 memset(used,0,100005*sizeof(int)); //cout<<m<<n<<endl; join(m,n); used[m]=1; used[n]=1;// cout<<used[m]<<m<<" "<<used[n]<<" "<<endl; t=1; flag=1;// cout<<flag<<endl; while(scanf("%d %d",&m,&n)!=EOF) { if(m==0&&n==0) break; if(used[m]==0) { t++; used[m]=1; //cout<<m<<" "<<t<<"$"<<endl; } if(used[n]==0){ t++; used[n]=1; //cout<<t<<"*"; } if(join(m,n)==0) { flag=0; //cout<<m<<" "<<n<<" "<<flag<<endl; } else t--; //cout<<m<<" "<<n<<" "<<t<<"#"<<endl; } //cout<<flag<<" "<<t<<endl; if(flag&&t==1) cout<<"Yes"<<endl; else cout<<"No"<<endl; } return 0; }
新手,请多多指教
阅读全文
0 0
- 小希的迷宫 hdu 1272
- HDU 1272 小希的迷宫
- hdu 1272 小希的迷宫
- hdu 1272 小希的迷宫
- hdu 1272 小希的迷宫
- HDU-1272-小希的迷宫
- HDU 1272 小希的迷宫
- [tree]hdu 1272 小希的迷宫
- HDU 1272 小希的迷宫
- Hdu 1272 小希的迷宫
- HDU-1272:小希的迷宫
- HDU 1272 小希的迷宫
- hdu 1272 小希的迷宫
- hdu 1272 小希的迷宫
- HDU 1272 小希的迷宫
- HDU 1272 小希的迷宫
- hdu 1272 小希的迷宫
- hdu 1272 小希的迷宫
- 大数据WEB阶段(六)MySql 下载、安装、卸载与配置
- 网络远程连接
- python文件的写入write()
- H2数据库入门Demo(一)
- OOP,重写与重载,异常处理机制,多线程,集合框架,IO流 -- Java基础复习
- hdu 1272 小希的迷宫
- 生成对抗网络DCGAN+Tensorflow代码学习笔记(二)----utils.py
- VS项目迁移到linux环境中Makefile相关小问题集锦
- cuda-covnet 深度学习工具的权值转化为txt 方便cpp源码调用
- 吴恩达Coursera机器学习课程笔记-定义分类
- QT中使用webView控件时报错
- 最大似然估计(MLE)和最大后验概率(MAP)
- QQ聊天气泡拖动效果实现
- 不想去读spring庞大源码,欲了解其内部原理来读此文