zoukankan      html  css  js  c++  java
  • hdu 3172 并查集+map

    /*这里将fa[]数组初始化为-1比较方便
     输入格式有点坑 看的讨论
    */

    1
    #include "cstdio" 2 #include "iostream" 3 #include "cstring" 4 #include "vector" 5 #include "queue" 6 #include "map" 7 #include "string" 8 #include "algorithm" 9 using namespace std; 10 11 #define MAXN 222222 12 int fa[MAXN]; 13 int T, n,num; 14 string a, b; 15 16 void init() 17 { 18 num = 1; 19 for (int i = 0; i <= MAXN; ++i) 20 fa[i] = -1; 21 } 22 23 int find(int x) 24 { 25 if (fa[x] < 0) return x; 26 return fa[x] = find(fa[x]); 27 } 28 29 void merg(int a, int b) 30 { 31 int x = find(a); 32 int y = find(b); 33 if (x < y) { 34 fa[x] += fa[y]; 35 fa[y] = x; 36 cout << -fa[x] << endl; 37 } 38 else if (x > y) { 39 fa[y] += fa[x]; 40 fa[x] = y; 41 cout << -fa[y] << endl; 42 } 43 //else cout << -fa[x] << endl; 加注释也可以过 44 } 45 void process() 46 { 47 cin >> n; 48 init(); 49 map<string, int> s; 50 for (int i = 0; i < n; ++i) { 51 cin >> a >> b; 52 if (s[a] == 0) s[a] = num++; 53 if (s[b] == 0) s[b] = num++; 54 merg(s[a], s[b]); 55 } 56 } 57 58 int main() 59 { 60 while (cin >> T) 61 while (T--) 62 process(); 63 //system("pause"); 64 return 0; 65 }
  • 相关阅读:
    jQuery工具函数
    jQuery中的Ajax
    jQuery动画效果
    jQuery基础事件
    jQuery操作DOM和CSS函数
    jQuery基础DOM和CSS操作
    jQuery过滤选择器
    jQuery常规选择器
    -3dB的理解
    诺顿定理概述
  • 原文地址:https://www.cnblogs.com/usedrosee/p/4249065.html
Copyright © 2011-2022 走看看