【杭电】[1232]畅通工程
2016-01-28 00:05
204 查看
体验一把套模板的毫无意义的爽快感
虽然这题很早以前就做过
但这次用了压缩路径加防退化
哎呀……
这套用的我都不知道把题解直接写在并查集说明 还是写到这里了……
就这一题而言……
我勒个去……
没什么说的
标准的并查集
看并查集的说明吧
【看书】并查集——合并与查询
然后输出的是 总集合数-1
便可达到畅通
[code]#include<stdio.h> int par[1020]; int rank[1020]; int find(int m) { if(par[m]==m) { return m; } else return par[m]=find(par[m]); } void unite(int x,int y) { x=find(x); y=find(y); if(x==y) return; else { if(rank[x]<rank[y]) { par[x]=y; } else { par[y]=x; if(rank[x]==rank[y]) rank[x]++; } } } int main() { int N,M; while(scanf("%d", &N),N) { scanf("%d", &M); for(int i=1; i<=N; i++) { par[i]=i; rank[i]=0; } while(M--) { int u,v; scanf("%d %d",&u,&v); unite(u,v); } int cnt=0; for(int i=1; i<=N; i++) { if(par[i]==i) cnt++; } printf("%d\n",cnt-1); } return 0; }
题目地址:【杭电】[1232]畅通工程
相关文章推荐
- 人力资源管理总结
- MyBatis参数传入集合之foreach动态sql
- 6个方向分析你的微信公众号为什么还没有收到原创邀请
- JSP通用高大上分页代码(超管用)
- Python装饰器入门学习教程(九步学习)
- Python每天必学之bytes字节
- SPOJ QTREE2 Query on a tree II(LCA)
- Python正则获取、过滤或者替换HTML标签的方法
- Python3实现Web网页图片下载
- 详解Python网络爬虫功能的基本写法
- python生成验证码图片代码分享
- PHP Curl模拟登录微信公众平台、新浪微博实例代码
- 实例详解PHP中html word 互转的方法
- 理解javascript中的MVC模式
- Angular实现form自动布局
- 很不错的两款Bootstrap Icon图标选择组件
- JS组件系列之Bootstrap Icon图标选择组件
- JavaScript SweetAlert插件实现超酷消息警告框
- JS实现动态生成表格并提交表格数据向后端
- 基于javascript实现全国省市二级联动下拉选择菜单