1272 小希的迷宫
2011-08-11 20:23
1041 查看
http://acm.hdu.edu.cn/showproblem.php?pid=1272
小希的迷宫 使用并查集求解。
小希的迷宫 使用并查集求解。
//小希的迷宫 //*****并查集***** #include<stdio.h> #define N 100001 int parent ; int height ; int get_parent(int v) { while (parent[v] != v) { v = parent[v]; } return v; } void main() { int u, v; int i; int temp1, temp2; int flag, count; while (scanf("%d%d", &u, &v) != EOF && !(u == -1 && v == -1)) { if (u == 0 && u == 0) { printf("Yes\n"); continue; } for (i = 1; i < N; i++) { parent[i] = i; height[i] = 1; } flag = 0; if (u == v) flag = 1; else { parent[v] = u; height[u]++; } while (scanf("%d%d", &u, &v) != EOF && !(u == 0 && v == 0)) { temp1 = get_parent(u); temp2 = get_parent(v); if (temp1 == temp2 || flag == 1) flag = 1; else { if (height[temp1] > height[temp2]) parent[temp2] = temp1; else { if (height[temp1] == height[temp2]) { parent[temp2] = temp1; height[temp1]++; } else parent[temp1] = temp2; } } } count = 0; for (i = 1; i < N; i++) { if (i == parent[i] && height[i] != 1) count++; } if (count <= 1 && flag == 0) printf("Yes\n"); else printf("No\n"); } }
相关文章推荐
- 杭电1272-小希的迷宫
- hdu-1272小希的迷宫(并查集)
- (step5.1.6)hdu 1272(小希的迷宫——并查集)
- HDU 1272 小希的迷宫
- hdu 1272 小希的迷宫
- HDU 1272 小希的迷宫 并查集 (判断任意2个点是否有且仅有一条路径可以相通)
- hdu 1272小希的迷宫 并查集
- HDU1272 小希的迷宫 并查集
- HDU 1272 小希的迷宫
- hdu 1272小希的迷宫
- hdu1272——小希的迷宫
- hdu 1272 小希的迷宫
- hdu 1272 小希的迷宫
- hdu1272 小希的迷宫 并查集
- ACM学习历程—HDU 1272 小希的迷宫(并查集)
- hdu 1272 小希的迷宫
- HDU - 1272 - 小希的迷宫
- HDU 1272 小希的迷宫(并查集)
- hdu 1272 小希的迷宫(判断成环)
- hdoj--1272--小希的迷宫(并查集)