hdu1232 畅通工程--并查集
2016-08-08 07:50
267 查看
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1232
中文题,不做解释,这题不需要用最小生成树,直接并查集找源点个数就行,m行数据表示的该两点已连通,所以只需找并查集找源点就行。
代码:
中文题,不做解释,这题不需要用最小生成树,直接并查集找源点个数就行,m行数据表示的该两点已连通,所以只需找并查集找源点就行。
代码:
#define _CRT_SECURE_NO_DEPRECATE #include<iostream> #include<cmath> #include<algorithm> using namespace std; int father[1005]; int n, m; int a, b; int find(int x) { return x == father[x] ? x : find(father[x]); } void join(int x, int y) { int x_root = find(x); int y_root = find(y); if (x_root != y_root) father[x_root] = y_root; } int main() { while (~scanf("%d", &n) && n) { scanf("%d", &m); if (m == 0) printf("%d\n", n - 1); else { for (int i = 1; i <= n; i++) father[i] = i; for (int i = 1; i <= m; i++) { scanf("%d%d", &a, &b); join(a, b); } int ans = 0; for (int i = 1; i <= n; i++) { if (i == find(i)) ans++; } printf("%d\n", ans - 1); } } return 0; }
相关文章推荐
- HDU 1232 畅通工程 最小强连通通路-并查集
- HDU--1232--畅通工程--并查集
- HDU-畅通工程-1232(并查集)How Many Tables(1213)
- HDU 1232 畅通工程(并查集)
- hdu 1232 畅通工程(并查集)
- hdu 1232 畅通工程(并查集)
- HDU--1232 -- 畅通工程 [并查集最简单应用]
- 畅通工程_hdu_1232(并查集)
- hdu 1232 畅通工程 (并查集)
- hdu 1232 畅通工程(并查集)
- 图论基础之并查集的简单看法:HDU 1232 畅通工程&&More is better
- hdu 1232 畅通工程【并查集入门】
- hdu 1232 畅通工程 最小生成树 并查集
- 畅通工程_hdu_1232(并查集)
- HDU 1232 畅通工程 (并查集)
- HDU_1232 畅通工程(并查集)
- hdu 1232 畅通工程(并查集)
- HDU 1232 畅通工程(并查集)
- hdu 1232 畅通工程并查集
- HDU 1232 畅通工程(并查集)