Oil Deposits(dfs)HDU
来源:互联网 发布:奕乐麻将 嘉兴玩网络 编辑:程序博客网 时间:2024/05/20 17:07
题目大意:有一大块油田,现在要数总共有多少片油田,有一个角或边联通即可算为同一片。
思路:dfs 如果有一块地方是@则以这个地方为起点dfs 把所有与其联通的 @ 全部变为 * 最后计算有
有多少块即可(没有使用book标记,直接把油田改变)
#include<stdio.h>#include<string.h>int n,m;char z[105][105];int check(int a,int b){//检查是否可以走if(a>=0&&a<n&&b>=0&&b<m&&z[a][b]=='@')return 1;return 0;}int dir[8][2]={{1,0},{-1,0},{0,1},{0,-1},{1,1},{1,-1},{-1,1},{-1,-1}};//8个方向void dfs(int x,int y);int main(void){while(scanf("%d%d",&n,&m),n&&m){int num=0;int i,j;getchar();for(i=0;i<n;i++) gets(z[i]);for(i=0;i<n;i++){for(j=0;j<m;j++){if(z[i][j]=='@'){//dfs每一个油田num++;z[i][j]=='*';dfs(i,j);}}}printf("%d\n",num);}return 0; } void dfs(int x,int y){ int i; for(i=0;i<8;i++){//走8个方向 int x_t=x+dir[i][0]; int y_t=y+dir[i][1]; if(check(x_t,y_t)){ z[x_t][y_t]='*'; dfs(x_t,y_t); } } }
0 0
- Oil Deposits(dfs)HDU
- hdu Oil Deposits(DFS)
- hdu 1241 Oil Deposits(dfs入门)
- HDU 1241 Oil Deposits(DFS)
- HDU 1241Oil Deposits(dfs搜索)
- HDU 1241 Oil Deposits (DFS)
- [ACM] hdu 1241 Oil Deposits(DFS)
- hdu 1241 Oil Deposits(DFS)
- HDU-#1241 Oil Deposits(BFS & DFS)
- HDU 1241 Oil Deposits(深搜/DFS)
- hdu 1241 Oil Deposits(DFS)
- HDU 1241 Oil Deposits (DFS)
- hdu 1241 Oil Deposits(DFS)
- hdu 1241 Oil Deposits(DFS)
- 【HDU-1241】Oil Deposits油田(dfs)
- HDU 1241 Oil Deposits(DFS)
- Oil Deposits hdu 1214(dfs)
- HDU 1241Oil Deposits (DFS)
- 结合arcgis api for js进行PIO搜索
- Jfinal之 poi render
- PAT 乙级 1024. 科学计数法 (20)
- 系统防刷的一些基本方法
- 姿态解算
- Oil Deposits(dfs)HDU
- maven常用命令
- codeforces 687C (纸币dp)(状态不好想)
- poj 1664 DP
- 蓝桥杯-第七届蓝桥杯java B组决赛
- [LeetCode]350. Intersection of Two Arrays II(求两个数组交集 II)
- Arduino IED for EDP8266编写的相关函数
- Local Reference Overflow
- 一天搞懂深度学习