题意就是:从起点开始走,走到无路可走,一共走了几步?深搜。走一步,计数器加1。

代码如下:

#include<stdio.h>

char a[20][20];int d[4][2]={{-1,0},{0,1},{1,0},{0,-1}};int wid,len,cnt;void dfs(int x,int y);

int main(){int i,j,bx,by;

while(scanf("%d%d",&len,&wid) == 2 )   {if( !len ) break;     cnt = 0 ;for(i = 0 ; i < wid ; ++i)     {       scanf("%s",a[i]); for(j = 0 ; j < len ; ++j)if(a[i][j] == '@')       {         bx = i ; by = j;                  }          }                              

     dfs(bx,by);                                 printf("%d\n",cnt);   }return 0;}

void dfs(int x,int y){int dx,dy,i;     a[x][y] = '#';    ++cnt;for(i = 0 ; i < 4 ; ++i )     {      dx = x + d[i][0];      dy = y + d[i][1];

if(dx < 0 || dx >= wid || dy < 0 || dy >= len )continue;if(a[dx][dy] == '.')      dfs(dx,dy);          }}

转载于:https://www.cnblogs.com/HpuAcmer/archive/2011/11/17/2253336.html

POJ1979(DFS)相关推荐

  1. 三十二、图的创建深度优先遍历(DFS)广度优先遍历(BFS)

    一.图的基本介绍 为什么要有图 前面我们学了线性表和树 线性表局限于一个直接前驱和一个直接后继的关系 树也只能有一个直接前驱也就是父节点 当我们需要表示多对多的关系时, 这里我们就用到了图. 图的举例 ...

  2. 【 MATLAB 】离散傅里叶级数(DFS)及 IDFS 的 MATLAB 实现

    有关离散傅里叶级数(DFS)我之前也写过一些博文,例如:离散周期信号的傅里叶级数(DFS) 这里我再次给出标准公式. 分析式: 其中: 综合式: 这里我必须先声明,关于分析式和综合式前面那个系数1/N ...

  3. 部署分布式文件系统(DFS)

    部署分布式文件系统(DFS) 使用 DFS 命名空间,可以将位于不同服务器上的共享文件夹组合到一个或多个逻辑结构的命名空间.每个命名空间作为具有一系列子文件夹的单个共享文件夹显示给用户.但是,命名空间 ...

  4. Java实现算法导论中图的广度优先搜索(BFS)和深度优先搜索(DFS)

    对算法导论中图的广度优先搜索(BFS)和深度优先搜索(DFS)用Java实现其中的伪代码算法,案例也采用算法导论中的图. import java.util.ArrayList; import java ...

  5. 广度优先搜索(BFS)与深度优先搜索(DFS)

    一.广度优先搜索(BFS) 1.二叉树代码 # 实现一个二叉树 class TreeNode:def __init__(self, x):self.val = xself.left = Nonesel ...

  6. 7.9模拟赛T1图的遍历(dfs)

    图的遍历(dfs) [题目描述] 对于一个有向图G来说,我们存在一个经典的遍历算法,就是DFS (深度优先搜索遍历).将G以1号点为起点进行DFS后,我们可以 得到G的一棵DFS遍历树T.就此,我们可 ...

  7. 7.6 T1 深度优先搜索(dfs)

    深度优先搜索(dfs) [题目描述] sol:50pts随便写写,就是大众分了,直接n2dpOK,100分要找点规律,需要数学头脑 官方题解 //#include <bits/stdc++.h& ...

  8. 二叉树的深度优先遍历(DFS)与广度优先遍历(BFS)

    二叉树的深度优先遍历(DFS)与广度优先遍历(BFS) 深度优先遍历:从根节点出发,沿着左子树方向进行纵向遍历,直到找到叶子节点为止.然后回溯到前一个节点,进行右子树节点的遍历,直到遍历完所有可达节点 ...

  9. 深度优先遍历(DFS)- Letter CasePermutation - Combinations

    深度优先遍历(DFS) 思路:从图中一个未访问的顶点V开始,沿着一条路一直走到尽头,然后从这条路尽头的节点回退到上一个节点,再从另一条路开始走到尽头-,不断递归重复此过程,直到所有顶点都遍历完成. 特 ...

最新文章

  1. 都是套路:盘点 Java 面试中链表的几大解题模板方法!
  2. 改造Dubbo,使其可以对接口方法进行注解配置
  3. CentOS 6安装详解及PXE 安装
  4. 导出oracle sequences,利用数据泵只导出序列
  5. lucene,lucene.net学习教程
  6. 利用LDA主题模型的生成过程仿真数据
  7. Nexus 安装 使用说明
  8. Fields of Mathematics
  9. 4.4 Triplet 损失
  10. 如何找回Oracle所有用户丢失的密码
  11. java数据读取容量,spring batch使用reader读数据的内存容量问题详解
  12. SAS 入门(二)实战篇
  13. FreeSWITCH学习
  14. win10从网络访问计算机没有guest,简单几步解决win10没有权限访问网络资源的问题...
  15. 计算机网络原理自考挂科率,3个“挂科率高”的专业,补考更是难上加难,看你专业上榜了吗...
  16. 关于(广义)代数特征值问题的一点注记
  17. 你真的了解重排和重绘吗?
  18. 【开源电机驱动】速度环控制
  19. 转盘式视觉筛选机及其图像识别系统
  20. android硬解码

热门文章

  1. sql server整表查询慢_这里有一个慢 SQL 查询等你来优化
  2. php warning: directive,安装Composer PHP Warning: copy(): SSL operation failed with code
  3. python integral_Pycharm:应为“Integral”类型,而应为“str”
  4. 计算机二级考试操作题outlook,2017年计算机考试二级考试操作题.doc
  5. python scrapy框架爬虫当当图书网
  6. 基于Matlab----16QAM调制与解调
  7. 模拟集成电路学习心得(不见牛人,不懂世界之大!!!)
  8. EbNo(EbN0)和SNR
  9. html range 样式,美化 input range 控制条
  10. 手把手:教你如何用深度学习模型预测加密货币价格