hihoCoder 树结构判定(并查集)
来源:互联网 发布:帆布鞋淘宝描述 编辑:程序博客网 时间:2024/06/03 13:39
思路:树满足两个条件:
1、顶点数等于边数加一
2、所有的顶点在一个联通块
那么直接dfs或者并查集就可以了。
AC代码
#include <stdio.h>#include<string.h>const int maxn = 500+5;int par[maxn];int T, n, m;void init() { for(int i = 0; i <= n; i++) { par[i] = i; }}int findRoot(int x) { return x == par[x] ? x : par[x] = findRoot(par[x]);}int main() { scanf("%d", &T); while(T--) { scanf("%d%d", &n, &m); init(); int u, v; for(int i = 0; i < m; i++) { scanf("%d%d", &u, &v); int x = findRoot(u); int y = findRoot(v); if(x != y) { par[x] = y; } } bool ok = 1; if(n-1 != m) ok = 0; //判断是否所有点连通 if(ok) { int root = findRoot(1); for(int i = 2; i <= n; i++) { if(findRoot(i) != root) { ok = 0; break; } } } if(ok) printf("YES\n"); else printf("NO\n"); } return 0;}
如有不当之处欢迎指出!
阅读全文
0 0
- hihoCoder 树结构判定(并查集)
- hihoCoder 1322 : 树结构判定 (dfs 或 并查集)
- 树的判定(并查集)
- 树的判定(并查集)
- hihoCoder 1322:树结构判定
- NYOJ-129 树的判定(并查集)
- NYOJ 题目129树的判定(并查集)
- NYOJ 129 树的判定 (并查集)
- 1896: 树的判定(并查集)
- 树的判定 并查集
- NYOJ129 树的判定 【并查集】
- 树的判定----并查集
- hihocoder 1291 : Building in Sandbox (离线并查集)
- hihoCoder #1515 : 分数调查(带权并查集)
- hihocoder 1066 无间道(基础并查集)
- hihoCoder— 穿越禁区(并查集)
- hihoCoder 1515 分数调查(带权并查集)
- NYOJ-129 树的判定 并查集
- liunx 安装jdk1.8
- HDU-1863-畅通工程
- freeswitch 录音录像
- 利用caffe的pycaffe接口将caffemodel中的字段保存为prototxt
- AES For Delphi And Java, AES/ECB/PKCS5Padding(二)
- hihoCoder 树结构判定(并查集)
- LightOJ
- vagrant laravel open_basedir
- ImageView的使用
- 程序员和项目经理之间的恩怨情仇
- 【代码笔记】iOS-NSFileManager
- 文件还原工具Foremost
- Myeclipse10安装Maven插件的两种方法
- 笔试题5——数组中超过一半的数