博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
并查集,是否成树,Poj(1308)
阅读量:6950 次
发布时间:2019-06-27

本文共 707 字,大约阅读时间需要 2 分钟。

思路:

对于每一条新的边的两个端点,是否是属于一颗树,要是的话,就不是一颗树。否则,就合并。

这里要注意的是,不能是森林,我这里WA了两次了。只不过在最后,查看每个节点的祖先是否是同一个就可以了。

#include 
#include
#include
using namespace std;const int maxn = 105;int father[maxn];bool vis[maxn];int Find_set(int x){ if(x!=father[x]) father[x]=Find_set(father[x]); return father[x];}void Union(int x,int y){ father[y] = x;}int main(){ bool flag; int x,y; int t=0; while(scanf("%d%d",&x,&y),x!=-1) { flag=true; if(x==0&&y==0) { printf("Case %d is a tree.\n",++t); continue; } else { for(int i=0;i

 

转载于:https://www.cnblogs.com/TreeDream/p/5608956.html

你可能感兴趣的文章
JAVA 多用户商城系统b2b2c-Spring Cloud常见问题与总结(一)
查看>>
NodeJS Docker 打包全面优化:优雅停机、多阶段、上下文目录
查看>>
(三)java版spring cloud+spring boot 社交电子商务平台 - Spring Cloud集成项目简介
查看>>
本地搭建ios测试包上传下载安装环境(类似蒲公英)
查看>>
BCH大区块导致中心化其实是伪命题
查看>>
Linux软件包管理之源码安装
查看>>
求两个数的最大公约数两种方法
查看>>
57. C# -- 字符串(string)
查看>>
Nginx+keepalived(部分配置)
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
***搭建过程
查看>>
linux的运行模式:runlevel 启动项 服务
查看>>
建立oracle中自动增长的列
查看>>
PowerBI从Lync或Skype for Business数据库中分析数据和KPI展现
查看>>
用EZBOOT制作多个gho文件的安装盘
查看>>
只读客户端驱动器映射和只读剪贴板映射
查看>>
工作总结
查看>>
Linux学习笔记8_三剑客命令的sed命令复习(替换)
查看>>
Paypal官方示例代码
查看>>