Ural1272-Non-Yekaterinburg Subway
来源:互联网 发布:原油 软件 编辑:程序博客网 时间:2024/05/29 10:09
简单的并查集问题,先用tunnel连图后再检查bridge的连通,如果不连通就需要用一座桥连通两个岛。
#include <cstdio>const int maxn = 10000 + 5;int par[maxn];int rk[maxn];void init(int n) { for (int i = 0; i < n; i++) { par[i] = i; rk[i] = 0; }}int find(int x) { if (par[x] == x) { return x; } else { return par[x] = find(par[x]); }}void unite(int x, int y) { x = find(x); y = find(y); if (x == y) { return; } if (rk[x] < rk[y]) { par[x] = y; } else { par[y] = x; if (rk[x] == rk[y]) { rk[x]++; } }}bool same(int x, int y) { return find(x) == find(y);}int main(int argc, char const *argv[]) { int n, k, m; scanf("%d%d%d", &n, &k, &m); init(n); for (int i = 0; i < k; i++) { int u, v; scanf("%d%d", &u, &v); u--, v--; unite(u, v); } int cnt = 0; for (int i = 0; i < m; i++) { int u, v; scanf("%d%d", &u, &v); u--, v--; if (!same(u, v)) { unite(u, v); cnt++; } } printf("%d\n", cnt); return 0;}
0 0
- Ural1272-Non-Yekaterinburg Subway
- ural 1272. Non-Yekaterinburg Subway
- URAL 1272 Non-Yekaterinburg Subway (查并集)
- 【神题】URAL 1575 Yekaterinburg Subway 2
- Subway
- Subway
- Subway
- poj2502 - Subway
- poj2502 SubWay
- subway dijkstra
- Poj2502 Subway
- D - Subway
- POJ1511 Subway
- Subway POJ
- poj2502 Subway
- Subway FZU
- POJ2502 subway
- Subway POJ
- linux 中HTTP简单的框架
- 使用Greasemonkey修改指定页面的样式显示或执行脚本
- 最全面 Nginx 入门教程 + 常用配置解析
- 报表鼠标选中当前行变色
- 通向架构师的道路(第十天)之Axis2 Web Service(一)
- Ural1272-Non-Yekaterinburg Subway
- 如何给Apk中注入代码【开发一款自动注入代码工具icodetools(开凿篇)】
- 前台遍历jison中的map
- Maven有什么用?怎么用?
- TIFF
- 递归删除指定的目录及文件
- java并发实战阅读笔记 --2
- android 版本更新 静默安装及自启动
- 自定义属性的过程