hdu 2473 并差集
来源:互联网 发布:linux tmp目录大小 编辑:程序博客网 时间:2024/05/11 23:30
自己不能使自己的父亲了,找个父亲,使自己永远是孩子。
#include <iostream>#include <cstdio>#include <algorithm>#include <cmath>#include <string.h>#include <string>using namespace std;const int MAXN = 1000000;int pre[MAXN * 2];int n, m;int finds(int x){ return x == pre[x] ? x : (pre[x] = finds(pre[x]));}void init(){ for (int i = 0; i < n; i++) { pre[i] = i + n; } for (int i = n; i < n + n + m; i++) { pre[i] = i; }}char ch[3];int ans[MAXN];void input(){ int u, v, w, cases = 0; while (scanf("%d %d", &n, &m) != EOF) { if (n == 0 && m == 0) break; init(); int f = n + n; for (int i = 0; i < m; i++) { scanf("%s", ch); if (ch[0] == 'M') { scanf("%d %d", &u, &v); int fa = finds(u), fb = finds(v); if (fa != fb) pre[fa] = fb; } else { scanf("%d", &u); pre[u] = f++; } } for (int i = 0; i < n; i++) { ans[i] = finds(i); } sort(ans, ans + n); int res = 1; for (int i = 1; i < n; i++) { if (ans[i] != ans[i - 1]) res++; } cout << "Case #" << ++cases << ": " << res << endl; }}int main(){ input(); return 0;}
0 0
- hdu 2473 并差集
- hdu 1213 并差集
- hdu 1856 并差集
- hdu 4750 (并差集)
- hdu 4496 (并差集)
- hdu 4424(并差集)
- hdu 3938并差集
- hdu 1598 枚举+并差集
- HDU 1232 畅通工程 (并差集)
- 关于并差集 Hurstoj 1073病毒 hdu畅通工程
- HDU 3234 Exclusive-OR(加权并差集)
- kruskal(并差集)
- 并差集
- 并差集
- 并差集 hdu3038
- 并差集_HDU_1213
- 并差集_HDU_1272
- 并差集_HDU_1232
- 【最小路径】
- LeetCode Jump Game II
- kaldi中的在线识别----Online Recognizers
- hdu1754I Hate It
- JDBC异常 数据库表不存在
- hdu 2473 并差集
- 可重入和不可重入函数
- 01-package 01背包
- 【NoisyHeart的炼成】Part 8:总结
- android 百度地图SDK 获取手机附近POI兴趣点列表 (过时)
- 树莓派学习笔记——交叉编译工具链
- 关于 *i++与 ++*i
- poj2773(欧拉函数的应用 或者 用容斥原理+dfs+二分)
- codechef Prime Palindromes 题解