zoj2165(dfs)
来源:互联网 发布:淘宝基础版导航栏全屏 编辑:程序博客网 时间:2024/06/14 01:09
题解:
深度优先搜索,简单题
判断临界+下一个方向上的字符为'.'
代码;
#include<stdio.h>#include<algorithm>#include<iostream>#include<string.h>#define M 20+10using namespace std;int m,n;char map[M][M];int dir[4][2]={{0,-1},{0,1},{1,0},{-1,0}};int xx,yy;int cou;void dfs(int x,int y){ map[x][y]='#'; for(int i=0;i<4;i++) { xx=x+dir[i][0]; yy=y+dir[i][1]; if(xx>=0 && xx<n && yy>=0 && yy<m && map[xx][yy]=='.') { dfs(xx,yy); cou++; } }}int main(){ while(scanf("%d%d",&m,&n),n||m) { cou=0; int ii,jj; for(int i=0;i<n;i++) scanf("%s",map[i]); for(int i=0;i<n;i++) for(int j=0;j<m;j++) { if(map[i][j]=='@') { ii=i; jj=j; } } dfs(ii,jj); printf("%d\n",cou+1); } return 0;}
0 0
- zoj2165 dfs
- zoj2165(dfs)
- ZOJ2165 Red and Black(dfs)
- ZOJ2165
- HDU1312 ZOJ2165 Red and Black
- DFS
- DFS
- dfs
- dfs
- dfs
- dfs
- DFS
- DFS
- dfs
- DFS
- DFS
- DFS
- dfs
- GuozhongCrawler系列教程 (3) PageProcessor详解
- hdu 2123 An easy problem
- Linux系统的在线求助man page 与info page
- 修改opencv源码的方法
- 【Cocos游戏实战】功夫小子第三课之过渡场景和开始菜单的实现
- zoj2165(dfs)
- HttpClient教程
- Android中Adapter的notifyDataSetInvalidated()和notifyDataSetChanged()的区别!
- 正则表达式matcher.group用法
- Tessellation Shader 随笔
- C语言头文件、库文件的查找路径
- 软件设计基础——抽象与逐步求精
- 高性能Socket服务器编程-01
- Linux(ubuntu)如何用iptables实现端口映射