hdu 3172 Virtual Friends
来源:互联网 发布:java 提取html文本 编辑:程序博客网 时间:2024/04/29 18:46
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=3172
并查集的运用。。。
#include<algorithm>#include<iostream>#include<cstdlib>#include<cstdio>#include<map>using std::map;using std::string;const int Max_N = 100010;struct UnionFind { map<string, int> rec; int num[Max_N], par[Max_N]; void init() { for (int i = 1; i < Max_N; i++) { par[i] = i; num[i] = 1; } rec.clear(); } inline int find(int x) { while (x != par[x]) { x = par[x] = par[par[x]]; } return x; } inline void unite(int x, int y) { x = find(x), y = find(y); if (x != y){ par[x] = y; num[y] += num[x]; printf("%d\n", num[y]); } else { printf("%d\n", num[y]); } } inline void gogo() { int n, cnt = 1; char s1[100], s2[100]; scanf("%d", &n); while (n--) { scanf("%s %s", s1, s2); if (!rec[s1]) rec[s1] = cnt++; if (!rec[s2]) rec[s2] = cnt++; unite(rec[s1], rec[s2]); } }}ans;int main() {#ifdef LOCAL freopen("in.txt", "r", stdin); freopen("out.txt", "w+", stdout);#endif int t; while (~scanf("%d", &t)) { while (t--) ans.init(), ans.gogo(); } return 0;}
0 0
- hdu 3172 Virtual Friends
- hdu 3172 Virtual Friends
- hdu 3172:Virtual Friends
- hdu 3172 Virtual Friends
- hdu 3172 Virtual Friends
- HDU 3172 Virtual Friends
- hdu 3172 Virtual Friends
- hdu 3172 Virtual Friends
- HDU 3172 Virtual Friends
- HDU 3172 Virtual Friends
- HDU-3172-Virtual Friends
- HDU 3172Virtual Friends()
- hdu 3172 Virtual Friends
- hdu 3172 virtual friends 并查集
- HDU 3172 Virtual Friends (并查集)
- 【并查集】 HDU 3172 Virtual Friends
- hdu 3172Virtual Friends (map水过)
- hdu 3172 Virtual Friends(并查集)
- 第十一周项目4-类族的设计
- 泰课笔记(一)之游戏架构
- POJ 3692 Kindergarten
- extjs piechart,linchart,chart IE不显示,火狐显示解决方法
- 微软100题(23)判断正方形和圆形相交
- hdu 3172 Virtual Friends
- 句子中的单词逆序输出和归并排序
- 图像处理与计算机视觉基础,经典以及最近发展
- 数论基础
- 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
- extjs formpanel 读取后台数据
- android知识点
- android中传递复杂参数,activity之间和fragment之间的bundle传递集合/对象
- eclipse与j2ee