一开始理解错题意了,以为是走过的砖不能再重复走,最多能走多少个黑砖,结果写的递归陷入死循环。。。
后来才明白原来可以重复走,问可以到达的磁砖数。

#include <iostream>
#include <string.h>
#include <stdio.h>
#include <math.h>
#include <algorithm> using namespace std;
int w,h,num,ans;
int f[][];//存储地图的信息,为0代表是黑砖,为1代表红砖,2代表已走过该砖 void search(int row,int col){
if(row<||row>h||col<||col>w){
return;
}
if(f[row][col]==||f[row][col]==)
return;
num++;
f[row][col]=; search(row,col-);
search(row,col+);
search(row-,col);
search(row+,col); }
int main()
{
int px,py;
char str[];
while(scanf("%d%d",&w,&h)!=EOF){
if(w== && h==)
break;
memset(f,,sizeof(f));
num=;
ans=;
for(int i=;i<=h;i++){
scanf("%s",str);
//一开始j从1开始了,囧。。。
for(int j=;j<w;j++){
if(str[j]=='#')
f[i][j+]=;
else if(str[j]=='@'){
//f[i][j]=2;
px=i;
py=j+;
}
}
}
search(px,py);
printf("%d\n",num);
}
return ;
}

最新文章

  1. .net基本数据类型操作
  2. git分支
  3. mmzb游戏事故分析
  4. 从零开始学android开发-项目打包发布
  5. Open-Drain V.S. Push-Pull
  6. c++ (P10—46)
  7. EIGRP认证 配置 (仅仅是命令 原理自己去看书) 转自:http://blog.163.com/s_u/blog/static/13308367201111771831631/
  8. 2015第29周六Spring
  9. django: startproject
  10. ZOJ3829---模拟,贪心
  11. 关于在selenium 中 webdriver 截图操作
  12. AndroidStudio中导入module(简单版)
  13. 二、Python数据类型(一)
  14. linux创建新用户,可以使用sudo无密码操作
  15. 把一个List&lt;T&gt;的数据复制至另一个List&lt;T&gt;
  16. WPF 矩形框8个控制点伸缩及拖拽
  17. Google maps javascript API
  18. 【转载】浅谈TDD、BDD与ATDD软件开发
  19. 你可能不知道的shell、bash二三事(Centos 7)
  20. linux centos系统下升级python版本

热门文章

  1. 链表的创建、测长、排序、插入、逆序的实现(C语言)
  2. js设计模式(10)---观察者模式
  3. [大牛翻译系列]Hadoop(4)MapReduce 连接:选择最佳连接策略
  4. JavaScript 时间显示
  5. 【linux】学习笔记
  6. Qt在VS2010的安装与配置
  7. WPF 系统托盘 图标闪烁
  8. hdu 2837 Calculation 指数循环节套路题
  9. Oracle计算两个整数的和与这两个整数的差与商
  10. RMAN备份失败之:mount: block device /dev/emcpowerc1 is write-protected, mounting read-only