hdu 1272 并查集简单题目
来源:互联网 发布:淘宝6度女装模特 编辑:程序博客网 时间:2024/05/13 05:53
题目分析:1.每两点之间有且仅有一条路径,有路径,要保证只有一个父亲结点(即所有的房间都只指向一个房间),
仅有一条,在合并两个房间时,他们的父亲结点要不一样,如果一样说明有回路
#include<iostream>#include<cstdio>#include<algorithm>#include<memory.h>using namespace std;const int maxn=100002;int father[maxn],vis[maxn],n,m,ans,t,tmp;int Find(int x){ if(father[x]==x)return x; return father[x]=Find(father[x]);}void Union(int x,int y){ int xx=Find(x); int yy=Find(y); if(xx!=yy) { if(xx>yy)swap(xx,yy); father[yy]=xx; } if(xx==yy)//存在回路 tmp++;}int main(){ int i,j,a,b,flag=1,Max=maxn; while(flag) { memset(vis,0,sizeof(vis)); for(i=1; i<=100000; i++) { father[i]=i; } tmp=0;Max=1; while(scanf("%d%d",&a,&b),(a||b)) { if(a==-1&&b==-1) { flag=0; break; } vis[a]=1; vis[b]=1; Max=max(Max,max(a,b)); Union(a,b); } if(!flag)continue; for(i=1; i<=Max; i++) { if(vis[i]&&father[i]==i)tmp++; } if(tmp<=1) printf("Yes\n"); else printf("No\n"); } return 0;}/*6 8 1 3 5 2 6 45 6 0 08 1 7 3 6 2 8 9 7 57 4 7 8 7 6 0 03 8 6 8 6 45 3 5 6 5 2 0 0*/
- hdu 1272 并查集简单题目
- ACM简单题目--并查集
- HDU 1272小希的迷宫(简单并查集)
- hdu 1272 小希的迷宫(简单并查集)
- HDU 1272 小希的迷宫 (简单并查集)
- 并查集题目
- 并查集题目
- HDU 1856 简单并查集
- hdu 1271 简单并查集
- hdu 2473 简单并查集
- hdu 1213简单并查集
- hdu 1232简单并查集
- hdu 1213 简单的并查集
- hdu--5606(简单并查集)
- HDU 1232 (简单并查集)
- HDU 1198简单并查集
- 卡路径压缩的并查集题目-hdu 1856
- HDU 题目1232 畅通工程 (并查集)
- 从hibernate 向 sql server 保存 大数据 文本 或图片
- 内存对齐详细解释
- MaxtoCode对.Net程序加密的原理及解密探讨一
- JOJ 1006解题
- ArcGIS Viewer for Silverlight 系列:简介
- hdu 1272 并查集简单题目
- nutch爬取结果中为什么最后的链接状态CrawlDatum错了?
- Qt GUI设计 界面语言动态切换(1)
- 系统验收--让用户躺在向日葵里
- SQL 2008 用作业实现同步详解
- HDU 1024动态规划问题
- 使用ASP.NET 2.0 Profile存储用户信息[翻译] Level 200
- fill_parentt与wrap_content区别
- MySQL审计插件安装使用说明文档--升级版