文件名称:附:参考源码(HDOJ--(HDUACM201403版_06)并查集(最小生成树)
文件大小:452KB
文件格式:PPT
更新时间:2024-05-13 11:07:24
杭电ACM课件 ACM
附:参考源码(HDOJ-1232) #include "stdio.h" int bin[1002]; int findx(int x) { int r=x; while(bin[r] !=r) r=bin[r]; return r; } void merge(int x,int y) { int fx,fy; fx = findx(x); fy = findx(y); if(fx != fy) bin[fx] = fy; } int main() { int n,m,i,x,y,count; while(scanf("%d",&n),n) { for(i=1;i<=n;i++) bin[i] = i; for(scanf("%d",&m);m>0;m--) { scanf("%d %d",&x,&y); merge(x,y); } for(count=-1, i=1;i<=n;i++) if(bin[i] == i) count ++; printf("%d\n",count); } }