POJ-1562-Oil Deposits
来源:互联网 发布:中学点读软件 编辑:程序博客网 时间:2024/05/16 10:21
这个题就是说以@代表油田,它周边8个方向若有@则表示同一个油田。给你一个图,问你图中有多少个油田。
算是比较简单的DFS题,直接进行搜索, 只是注意对已经搜索过的点进行标记操作。
代码:
#include<cstdio>#include<cstring>#include<iostream>#define MAX 101using namespace std;int n,m,ans;char map[MAX][MAX];bool vis[MAX][MAX];int movex[8]={1,1,1,-1,-1,-1,0,0},movey[8]={1,0,-1,1,0,-1,1,-1};bool isborder(int x,int y){ if(x<0||x>=n||y<0||y>=m)return true; return false;}void DFS(int x,int y){ if(isborder(x,y)||map[x][y]=='*')return; for(int i=0;i<8;i++) {int itx=x+movex[i];int ity=y+movey[i];if(isborder(itx,ity)||vis[itx][ity]) continue;vis[itx][ity]=1;if(map[itx][ity]=='@') DFS(itx,ity); }}int main(){ while(scanf("%d%d",&n,&m)&&(n||m)) {for(int i=0;i<n;i++) scanf("%s",&map[i]);memset(vis,0,sizeof(vis));ans=0;for(int i=0;i<n;i++) for(int j=0;j<m;j++)if(!vis[i][j]&&map[i][j]!='*'){ DFS(i,j); ans++;}printf("%d\n",ans); } return 0;}
- Oil Deposits(POJ 1562)
- poj 1562 Oil Deposits
- POJ 1562 Oil Deposits
- poj 1562 Oil Deposits
- poj 1562 Oil Deposits
- poj-1562Oil Deposits
- POJ-1562-Oil Deposits
- POJ 1562 Oil Deposits
- POJ 1562 Oil Deposits
- POJ 1562 Oil Deposits
- POJ 1562 Oil Deposits
- poj 1562 Oil Deposits
- poj 1562 Oil Deposits
- POJ:1562 Oil Deposits
- poj 1562 Oil Deposits
- poj 1562:Oil Deposits
- poj 1562 oil Deposits
- POJ 1562 Oil Deposits
- java中申请不定长度数组
- Github使用总结(添加ssh-key,新建仓库,添加协作者)
- 青春飞扬,我的程序员之路”之山威站
- 11款用于优化、分析源代码的Java工具
- 两分钟彻底让你明白Android Activity生命周期(图文)!
- POJ-1562-Oil Deposits
- 浅谈java中的四个核心概念
- 10274 - Fans and Gems
- CSDN高校俱乐部(山大威海)参与双选会各项工作
- Struts2入门到精通六——————ModelDriven
- Struts2入门到精通七——————类型转换器
- 【推荐】安卓应用:《Java学习手册》
- log4j.xml文件详解
- CSDN高校俱乐部C语言基础知识回顾讲座