HDU 2473-Junk-Mail Filter-并查集删除
2015-08-15 18:37
507 查看
#include<stdio.h> #include<string.h> #include<stdlib.h> int ls[2000000],_hash[2000000], d[2000000]; int find1(int x) { return ls[x] == x ? x : ls[x]=(find1(ls[x])); } void add(int x, int y) { int xx = find1(x); int yy = find1(y); if(xx != yy) { ls[yy] = xx; } } int main() { int n, m, i; int ti = 1; while(~scanf("%d%d",&n,&m)&&(n+m)) { int cnt = n; for(i = 0; i < 2000000; i++) { ls[i] = i; d[i] = i; } while(m--) { char c; getchar(); scanf("%c",&c); if(c == 'M') { int u, v; scanf("%d%d",&u,&v); add(d[u],d[v]); } else { int u; scanf("%d",&u); d[u]=cnt++; } } memset(_hash,0,sizeof(_hash)); int cont = 0; for(i = 0; i < n; i++) { int a = find1(d[i]); if(!_hash[a]) { _hash[a] = 1; cont++; } } printf("Case #%d: %d\n",ti++,cont); } return 0; }
相关文章推荐
- PAT 1079. Total Sales of Supply Chain (25)
- hit2060 Fibonacci Problem Again
- select系统调用源码分析 http://blog.csdn.net/martin_liang/article/details/9124911
- Known plaintext attack
- Clairewd’s message - HDU 4300(next[]运用)
- Grails WEB层 Groovy Server Pages
- 浅析_tmain()与main()的区别
- 2015 HUAS Summer Trainning #5~G
- HDOJ-1787 GCD Again(欧拉函数)
- HDU 1151 Air Raid( 最小路径覆盖)
- HDU Train Problem II (卡特兰数+大数)
- hdu 2389 Rain on your Parade (HK)
- UVA 10494-If We Were a Child Again(一流的塔尔苏斯)
- 2015 HUAS Summer Trainning #5 A
- AIDL进程间传递复杂数据类型—AIDL传递其他AIDL接口
- Could not find action or result: /SendMail/servlet/UploadServlet
- 简易智能自动问答机器人
- hdu 5289 Assignment 2015 Multi-University Training Contest 1
- HDU Train Problem I (STL_栈)
- RAID磁盘阵列RAID级别的介绍