hdu1232 并查集
2014-01-31 23:01
176 查看
最简单的并查集,先merge 再find有多少个根
输入n,m,那是城市个数,m是道路个数
输入m组 每组两个城市相连通 问还需要多少条路让所有道路都连通。
最简单的并查集- -熟悉下下
输入n,m,那是城市个数,m是道路个数
输入m组 每组两个城市相连通 问还需要多少条路让所有道路都连通。
#include <cstdio> #include <string.h> using namespace std; const int maxn = 1002; int fa[maxn]; int find(int x) //查找 { return fa[x]== x ? x : fa[x]= find(fa[x]); } void merge(int x,int y) //合并 { int fx=find(x),fy=find(y); if(fx!=fy) fa[fx]=fy; } int main() { int n,m,x,y; while(scanf("%d",&n),n) //这里输入的格式需要考虑一下 { scanf("%d",&m); for(int i=1;i<=n;i++) fa[i]=i; while(m--) { scanf("%d%d",&x,&y); merge(x,y); } int cnt=-1; for(int i=1;i<=n;i++) if(fa[i]==i) cnt++; printf("%d\n",cnt); } return 0; }
最简单的并查集- -熟悉下下
相关文章推荐
- HDU1232 并查集有趣解说
- hdu1232 很不错 要看 并查集
- 畅通工程--hdu1232(并查集)
- 并查集入门简略笔记 附HDU1232
- Hdu1232(并查集)Java题解
- hdu1232 畅通工程(并查集)
- 并查集-HDU1232
- 畅通工程-并查集-HDU1232
- 【并查集】-HDU1232-畅通工程
- hdu1232(基础并查集)
- 【并查集】畅通工程 _HDU1232
- kruskal_并查集_代码模板_hdu1232
- 并查集-hdu1232
- 【hdu1232】畅通工程【并查集】
- hdu1232-畅通工程(并查集)
- 并查集--hdu1232(基本模板题)
- 并查集hdu1232
- HDU1232:畅通工程(并查集)
- 并查集 HDU1232 畅通工程
- 并查集之求连通块的数量 HDU1232 畅通工程