hdu 1213 (并查集)
2018-04-10 00:46
225 查看
题目链接
#include<string.h> #include<stdio.h> #include<stdlib.h> int pre[30005]; int Find(int x) { int r=x; while(r!=pre[r]) r=pre[r]; int i=x,j; while(pre[i]!=r) { j=pre[i]; pre[i]=r; i=j; } return r; } void join(int x,int y) { int fx=Find(x),fy=Find(y); if(fx!=fy) { pre[fx]=fy; //printf("fx=%d,fy=%d\n",fx,fy); } } int a[30003]; int t[3000]; int main() { int n,m,T; scanf("%d",&T); while(T--) { scanf("%d%d",&n,&m); int i,x,y,num; for(i=1;i<=n;i++) pre[i]=i; //printf("n=%d m=%d\n",n,m); while(m--) { scanf("%d%d",&x,&y); join(x,y); } memset(t,0,sizeof(t)); for(i=1;i<=n;i++) t[Find(i)]=1; int ans=0; for(i=1;i<=n;i++) if(t[i]) ans++; printf("%d\n",ans); } }
相关文章推荐
- hdu 1213 How Many Tables 并查集
- HDU 1213 How Many Tables (并查集)
- hdu 1213并查集
- HDU 1213 How Many Tables (并查集,常规)
- 并查集入门-hdu 1213
- [ACM] hdu 1213 How Many Tables(并查集)
- HDU 1213 How Many Tables 基础并查集★
- 并查集-HDU-1213-How Many Tables
- HDU 1213 How Many Tables(并查集)
- hdu 1213 How Many Tables(并查集~~)
- HDU 1213 并查集
- HDU--1213并查集
- hdu 1213 How Many Tables(并查集练习)
- HDU:1213 How Many Tables(简单并查集)
- 并查集的应用:hdu 1213
- HDU-1213-How Many Tables [并查集]
- HDU 1213 How Many Tables(并查集)
- HDU 1213 How Many Tables(并查集讲解)
- HDU 1213-How Many Tables(简单并查集)
- HDU 1213 How Many Tables(并查集裸题)