04-树5. File Transfer (25)
2015-08-21 14:21
423 查看
题目地址:http://www.patest.cn/contests/mooc-ds/04-%E6%A0%915
/* 并查集 和 set<> */ #include <cstdio> #include <sstream> #include <cstring> #include <iostream> #include <string> #include <vector> #include <queue> #include <algorithm> #include <sstream> #include <cmath> #include <set> #include <stack> using namespace std; #define N 10001 int n; int father ; int find(int x) { if (x == father[x]) return x; return father[x] = find(father[x]); } void merge(int x ,int y) { father[find(y)] = find(x); } int main() { //freopen("in", "r", stdin); scanf("%d\n", &n); char c ='C'; int tmp1, tmp2; int i; for (i = 1; i <= n; i++) { father[i] = i; } while (c != 'S') { scanf("%c", &c); if (c == 'I') { scanf("%d%d\n", &tmp1, &tmp2); if (find(tmp1) != find(tmp2)) merge(tmp1, tmp2); } else if (c == 'C') { scanf("%d%d\n", &tmp1, &tmp2); if (find(tmp1) != find(tmp2)) { printf("no"); } else{ printf("yes"); } printf("\n"); } else { break; } } set<int> sset; for (i = 1; i <= n; i++) { sset.insert(find(i)); } int len = sset.size(); if (len == 1) { printf("The network is connected.\n"); } else{ printf("There are %d components.\n",len); } return 0; }
相关文章推荐
- It is not safe to rely on the system解决方法
- iframe调用后台方法通过response返回html代码
- 解决ie8不兼容jquery trim问题
- jsp布局中关于<iframe>标签的使用
- xStream完美转换XML、JSON
- 使用jquery easyui 对表格中的时间格式化
- JSFF2 mount fail
- POJ 3592--Instantaneous Transference【SCC缩点新建图 && SPFA求最长路 && 经典】
- 在AngularJS应用中实现认证授权
- 百度网页分享js代码
- Node.js笔记(一):node.js 和 express 的安装和配置
- 理解AngularJS中的Service类型
- 玩转Node.js - 06. 使其模块化
- javascript操作cookie
- javascript中字符串的trim功能表达式
- javascript 正则 验证 第25节
- angularjs制作购物车功能
- js备忘录
- JSON简介以及用法汇总
- css3 display:box