HDU1312 Red and Black(DFS)
2015-09-02 09:11
405 查看
本来是一道简单的DFS的练习题,但是因为少加一个getchar()导致自己调试了半天。
#include<iostream> using namespace std; int dir[4][2] = {{1,0},{0,1},{-1,0},{0,-1}}; int n,m,px,py,sum; char str[30][30]; void dfs(int x,int y){ int dx,dy; sum++; str[x][y] = '#'; for(int i = 0;i<4;i++){ dx = x + dir[i][0]; dy = y + dir[i][1]; if(str[dx][dy] == '.' && dx>=0 && dx<m && dy>=0 && dy<n) dfs(dx,dy); } return ; } int main(){ while(scanf("%d %d",&n,&m),n,m){ getchar(); for(int i = 0;i<m;i++){ for(int j = 0;j<n;j++){ scanf("%c",&str[i][j]); if(str[i][j] == '@'){ px = i; py = j; } } getchar(); } sum = 0; dfs(px,py); printf("%d\n",sum); } return 0; }
相关文章推荐
- adsl modem是什么意思?ADSL Modem的作用是什么?
- nil/Nil/NULL/NSNull
- 防御导弹
- 打开Android studio遇到的一些问题,为什么安装jdk没有jdk.....的文件夹
- APP紧急修改后的app store官方审核通道
- vs下opencv函数自动提示设置
- docker资料汇总
- swfobject.js视频播放插件
- 背包九讲(好好看下还是有好多好东西的)
- Web安全之CSRF跨站请求伪造攻击
- 线程全解
- 使用Clonezilla("再生龙")对Linux系统硬盘进行镜像和克隆
- 深受开发者喜爱的10大Core Data工具和开源库
- GDI+学习笔记2
- UpdateData和PreTranslateMessage函数
- SLURM 安装与配置
- select into from和insert into select from两种表复制语句区别
- ue4和u3d术语对照
- linux 在系统启动过程
- android开源项目学习