hdu1325 Is It A Tree? 基础并查集
#include <stdio.h>
#include <string.h> int f[], g[]; int find(int x) //并查集的查找,找到共同的父亲
{
if (f[x] != x)
f[x] = find(f[x]);
return f[x];
} int main()
{
int a, b, tt = ;
while (scanf("%d%d", &a, &b) != EOF)
{
int i, flag = , t = ;
if (a< && b<)
break;
for (i = ; i <= ; i++)
f[i] = i; //合并
if (find(a) == find(b))
flag = ;
else
f[find(b)] = find(a); while (scanf("%d%d", &a, &b))
{
if (a == && b == )
break;
int aa, bb;
aa = find(a);
bb = find(b);
//合并
if (aa == bb || bb != b) //成环就不是树,后面的是检查是否有两个父节点
flag = ;
else
f[bb] = aa;
} memset(g, , sizeof(g));
for (i = ; i <= ; i++) //保证只有一个根,不然就是森林了
if (f[i] != i)
g[find(i)]++;
for (i = ; i <= ; i++) //检查是否只有一个头结点就是了
if (g[i]>)
t++;
if (t>)
flag = ;
if (flag == )
printf("Case %d is not a tree.\n", tt++);
else
printf("Case %d is a tree.\n", tt++);
}
return ;
}
hdu1325 Is It A Tree? 基础并查集的更多相关文章
- POJ1308/HDU1325/NYOJ129-Is It A Tree?,并查集!
Is It A Tree? Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 28838 Accepted: 9843 -& ...
- HDU1325 Is It A Tree? 【并查集】
Is It A Tree? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...
- hdu 1829 基础并查集,查同性恋
A Bug's Life Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) To ...
- 【BZOJ2959】长跑(Link-Cut Tree,并查集)
[BZOJ2959]长跑(Link-Cut Tree,并查集) 题面 BZOJ 题解 如果保证不出现环的话 妥妥的\(LCT\)傻逼题 现在可能会出现环 环有什么影响? 那就可以沿着环把所有点全部走一 ...
- poj-2236 Wireless Network &&poj-1611 The Suspects && poj-2524 Ubiquitous Religions (基础并查集)
http://poj.org/problem?id=2236 由于发生了地震,有关组织组把一圈电脑一个无线网,但是由于余震的破坏,所有的电脑都被损坏,随着电脑一个个被修好,无线网也逐步恢复工作,但是由 ...
- Is It A Tree?(并查集)
Description A tree is a well-known data structure that is either empty (null, void, nothing) or is a ...
- POJ1308:Is It A Tree?(并查集)
Is It A Tree? 题目链接:http://poj.org/problem?id=1308 Description: A tree is a well-known data structure ...
- Codeforces 915F Imbalance Value of a Tree(并查集)
题目链接 Imbalance Value of a Tree 题意 给定一棵树.求树上所有简单路径中的最大权值与最小权值的差值的和. 首先考虑求所有简单路径中的最大权值和. 对所有点按照权值大小升 ...
- HDU4496 D-City【基础并查集】
Problem Description Luxer is a really bad guy. He destroys everything he met. One day Luxer went to ...
随机推荐
- 利用ms17_010漏洞实验
1.理论 在MSF里面msfconsole可以说是最流行的一个接口程序.但是msfconsole真的是一个强大的接口程序.Msfconsole提供了一个一体化的集中控制台.通过msfconsole,你 ...
- Python常用的包
Python常用的处理数据的包和它的Tutorial(点击每个包的名称): Numpy:提供对多维数组的支持,支持矢量运算,速度快 matplotlib.pyplot:图表的绘制 Pandas:基于 ...
- 使用Swift作为Glance后端存储
原文链接 http://thornelabs.net/2014/08/03/use-openstack-swift-as-a-backend-store-for-glance.html By defa ...
- Javascript对象的技巧和陷阱
创建对象的3种方法 方法1 直接创建 var obj = { name: "mike", age: 10 } 方法2 用new创建 var ob = new Date(); 方法3 ...
- Hibernate_14_数据连接池的使用
在主配置文件Hibernate.cfg.xml中设置: <!-- 设置默认的事务隔离级别: 隔离级别 相应的整数表示 READ UNCOMMITED 1 READ COMMITED 2 REPE ...
- HDU 6138 Fleet of the Eternal Throne 后缀数组 + 二分
Fleet of the Eternal Throne Problem Description > The Eternal Fleet was built many centuries ago ...
- CSS3 Selector
每个前端工程师可能每天都会写一些css,其中选择器是很主要的一部分.但是,大家可能每天写的大多是#id,.class这样的选择器,这并不稀奇,但是如果我们了解并且熟用css3为我们提供的强大并且优雅的 ...
- Android 走向MD的配色风格
这是一些google官方推出的推荐色值 下面补充上对应的xml文件,省得大家再去自己写 <?xml version="1.0" encoding="utf-8&qu ...
- BZOJ_1441_Min_数学+裴蜀定理
BZOJ_1441_Min_数学+裴蜀定理 Description 给出n个数(A1...An)现求一组整数序列(X1...Xn)使得S=A1*X1+...An*Xn>0,且S的值最小 Inpu ...
- FTOUR2 - Free tour II
传送门 题目翻译的很清楚……似乎点分治的题题目描述都非常简洁. 还是那个操作,一条路径要么全部在一棵子树中,要么经过当前的重心,所以考虑点分治. 首先dfs求出重心的每一棵子树中,有i个黑点的最长路径 ...