poj 1308 Is It A Tree?(并查集)
来源:互联网 发布:python读取dat文件 编辑:程序博客网 时间:2024/06/14 09:43
思路同hdu 1272
#include<iostream>#include<stdio.h>#include<string.h>using namespace std;#define MAXN 1005int fa[MAXN],sign[MAXN],flag;int set_find(int d){ if(fa[d]<0)return d; return fa[d]=set_find(fa[d]);}void set_join(int x,int y){ x=set_find(x); y=set_find(y); if(x!=y)fa[x]=y; else flag=0;//同一个父节点,成环}int main(){ int i,a,b,cas=1; while(cin>>a>>b) { if(a==-1&&b==-1) break; if(a==0&&b==0) { cout<<"Case "<<cas++<<" is a tree."<<endl; continue; } for(i=1; i<MAXN; i++) { fa[i]=-1; sign[i]=0; } sign[a]=sign[b]=1; flag=1; set_join(a,b); while(cin>>a>>b) { if(a==0&&b==0) break; set_join(a,b); sign[a]=sign[b]=1; } int k=0; for(i=1; i<MAXN; i++) { if(sign[i]&&fa[i]==-1) //判断根节点k数目 k++; if(k>1) flag=0; } if(flag) cout<<"Case "<<cas++<<" is a tree."<<endl; else cout<<"Case "<<cas++<<" is not a tree."<<endl; } return 0;}
0 0
- POJ 1308-Is It A Tree 并查集
- POJ 1308 Is It A Tree? (并查集)
- poj 1308 - Is It A Tree?(并查集)
- POJ-1308 并查集-Is It A Tree?
- POJ 1308 Is It A Tree? (并查集)
- poj 1308 Is It A Tree?(并查集)
- poj 1308 Is It A Tree? (并查集)
- poj 1308 Is It A Tree?(并查集)
- POJ 1308 Is It A Tree? (并查集)
- POJ 1308 Is It A Tree?(并查集)
- POJ - 1308 Is It A Tree?(并查集)
- POJ 1308 Is It A Tree? 并查集
- POJ 1308Is It A Tree? 并查集求解
- poj 并查集 - 1308 Is It A Tree?
- POJ - 1308 Is It A Tree?(并查集+dfs)
- poj 1308 Is It A Tree? 数据结构 并查集
- POJ 1308 Is It A Tree?(并查集)
- poj 1308 Is It A Tree?(并查集)
- php 全局变量global的作用域
- python 多线程的通俗易懂的博客
- Redis简介
- Effective Java读书笔记(三)
- 编程日常:创建枚举窗体的线程, 结果无法找到目标窗体
- poj 1308 Is It A Tree?(并查集)
- Swift学习之闭包
- 调用物流接口按时间正序显示数据
- Unity 3D中的 SetActive() 与 OnEnable()、OnDisable()要注意的
- 监控 DNS 流量,预防安全隐患五大招!
- 2016.1.19
- Android图片加载神器之Fresco-加载图片基础[详细图解Fresco的使用]
- 【bzoj2705】[SDOI2012]Longge的问题 欧拉函数
- 抽象工厂