Hdu 1198 Farm Irrigation 基础并查集
来源:互联网 发布:下线代理赚钱软件 编辑:程序博客网 时间:2024/05/10 04:37
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1198
题目大意:给你已知结构的方框土地,每块土地都有水渠通过,现在给你一块土地,让你判断需要几个供水点,其中相连的水渠只需要公用一个供水点。
解题思路:枚举每块地,如果有地和他相连,合并这两个点,最后统计有多少棵树,就需要多少个水源。
代码如下:
#include<cstdio>#include<cstring>int f[110*110],rank; //因为 数组开小wrong两次,呜呜呜。。。char s[110][110];/*int find(int x) //并查集的另一种初始化,即都为-1,注意此时 return 的是x,而下面的写法return f[x];{ if(f[x]==-1) return x; return f[x]=find(f[x]);}*/int find(int x){ if(f[x]!=x) f[x]=find(f[x]); return f[x];}void merge(int x,int y){ int fx=find(x); int fy=find(y); if(fx!=fy) { f[fx]=fy; rank--; }}int main(){ int m,n; while(scanf("%d%d",&m,&n)) { if(m<0||n<0) break; rank=m*n; for(int i=0;i<m;i++) scanf("%s",&s[i]); for(int i=0;i<m*n;i++) f[i]=i; for(int i=0;i<m;i++) for(int j=0;j<n;j++) { if(i>0&&(s[i][j]=='A'||s[i][j]=='B'||s[i][j]=='E'||s[i][j]=='G'||s[i][j]=='H'||s[i][j]=='J'||s[i][j]=='K')) if(s[i-1][j]=='C'||s[i-1][j]=='D'||s[i-1][j]=='E'||s[i-1][j]=='H'||s[i-1][j]=='I'||s[i-1][j]=='J'||s[i-1][j]=='K') merge(i*n+j,(i-1)*n+j); if(j>0&&(s[i][j]=='A'||s[i][j]=='C'||s[i][j]=='F'||s[i][j]=='G'||s[i][j]=='H'||s[i][j]=='I'||s[i][j]=='K')) if(s[i][j-1]=='B'||s[i][j-1]=='D'||s[i][j-1]=='F'||s[i][j-1]=='G'||s[i][j-1]=='I'||s[i][j-1]=='J'||s[i][j-1]=='K') merge(i*n+j,i*n+j-1); } printf("%d\n",rank); } return 0;}
0 0
- Hdu 1198 Farm Irrigation 基础并查集
- hdu 1198 Farm Irrigation(并查集)
- hdu 1198 Farm Irrigation( 并查集)
- HDU 1198 Farm Irrigation(并查集)
- HDU 1198 Farm Irrigation 【并查集】
- HDU 1198Farm Irrigation(并查集)
- HDU 1198 Farm Irrigation(并查集)
- hdu 1198 Farm Irrigation(并查集)
- hdu 1198 Farm Irrigation(并查集)
- HDU 1198 Farm Irrigation 并查集
- HDU 1198 Farm Irrigation 并查集
- hdu-1198-Farm Irrigation(并查集)
- HDU 1198 Farm Irrigation (并查集)
- HDU 1198 Farm Irrigation 并查集
- hdu 1198 Farm Irrigation 并查集
- hdu 1198 Farm Irrigation(搜索+并查集)
- hdu 1198 Farm Irrigation (并查集)
- HDU 1198 Farm Irrigation 并查集+枚举
- 经典、重要文章、帖子、技术个人收藏
- July博客第十二章参考学习
- CSS文档流与块级元素和内联元素
- Linux 标准目录结构
- 字符串匹配KMP算法
- Hdu 1198 Farm Irrigation 基础并查集
- Integer Inquiry
- D - I Think I Need a Houseboat(1.3.1)
- hdu 1506 单调队列
- hdu 2059
- 做SEO优化的一个看法
- 跟我一起学extjs5(16--各种Grid列的自定义渲染)
- Optional-Optional Chaining
- 字符串问题