1 #include"cstring"
 2 #include"cstdio"
 3 const int maxn=20+5;
 4 char tile[maxn][maxn];//方块格子
 5 int m,n,idx[maxn][maxn];//m行n列 ,idx判断是否访问过
 6 int a[]={-1,0,1,0};
 7 int b[]={0,-1,0,1};//移动
 8 int num; //黑格子数目
 9 void dfs(int r,int c){
10     if(r<0||r>=m||c<0||c>=n)    return;//出界
11     if(idx[r][c]>0||tile[r][c]=='#')    return;    //已经访问的格子或者红色格子
12     idx[r][c]=++num;//如果tile未访问过,标记访问,num+1
13     for(int i=0;i<4;i++){
14         dfs(r+a[i],c+b[i]);
15     }
16 }
17 int main(){
18     while(scanf("%d%d",&n,&m)==2&&n&&m){
19         for(int i=0;i<m;i++)
20             scanf("%s",tile[i]);
21         memset(idx,0,sizeof(idx));
22         num=0;
23         for(int i=0;i<m;i++)
24             for(int j=0;j<n;j++)
25                 if(tile[i][j]=='@'){
26
27                     dfs(i,j);
28                     break;
29                 }
30         printf("%d\n",num);
31     }
32     return 0;
33 }
34  

转载于:https://www.cnblogs.com/hutonm/p/5475059.html

poj-1979 dfs相关推荐

  1. A - 棋盘问题 POJ - 1321(dfs)

    A - 棋盘问题 POJ - 1321 dfs 复杂度计算: dfs共进行a步,每步需要循环n次,复杂度为 a^n次方 首先是暴力 an*n,果然炸了 #include<cstdio> # ...

  2. POJ 1979 Red and Black (简单dfs)

    题目: 简单dfs,没什么好说的 代码: #include <iostream> using namespace std; typedef long long ll; #define IN ...

  3. POJ 1979 Red and Black DFS

    简单DFS 注意边界就行了. // #pragma comment(linker, "/STACK:1024000000,1024000000") #include<cstd ...

  4. POJ 1979 红与黑

    题目地址: http://poj.org/problem?id=1979  或者  https://vjudge.net/problem/OpenJ_Bailian-2816 Red and Blac ...

  5. poj 2531(dfs)

    题目链接:http://poj.org/problem?id=2531 思路:由于N才20,可以dfs爆搞,枚举所有的情况,复杂度为2^(n). 1 #include<iostream> ...

  6. POJ - Hopscotch(DFS)

    题目链接:http://poj.org/problem?id=3050 Time Limit: 1000MS Memory Limit: 65536K Description The cows pla ...

  7. POJ 2458 DFS+判重

    题意: 思路: 搜+判重 嗯搞定 (听说有好多人用7个for写得-.) //By SiriusRen #include <bitset> #include <cstdio>0 ...

  8. POJ 2230 DFS

    题意: Bessie 最近做了农场看守,他每天晚上的工作就是巡视农场并且保证没有坏人破坏农场.从谷仓出发去巡视,并且最终回到谷仓. Bessie 视力不是很好,不能像其他农场的看守一样,对农场的每一条 ...

  9. poj 3411(DFS多点访问)

    题意:有n座城市和m(1<=n,m<=10)条路.现在要从城市1到城市n.有些路是要收费的,从a城市到b城市,如果之前到过c城市,那么只要付P的钱,如果没有去过就付R的钱.求的是最少要花多 ...

  10. POJ 3051 DFS

    题意:判断连通块大小 水题 //By SiriusRen #include <cstdio> #include <cstring> #include <algorithm ...

最新文章

  1. centos6 升级gcc / 无法识别的命令行选项“-std=gnu++1y”的解决办法
  2. ROS初级教程1---官方ROS文件系统导览
  3. @Autowired自动注入
  4. [渝粤教育] 西南科技大学 线性代数 在线考试复习资料
  5. hive 集成sentry
  6. python和anaconda区别_Pycharm、Anaconda到底是什么?有什么区别?
  7. 在java反射中 Class.forName和classLoader的区别
  8. 大数组,找某数字的左,右边界
  9. firemonkey mysql_FireMonkey开发技术简明手册.pdf
  10. hutool实战(带你掌握里面的各种工具)目录
  11. 信息内容安全-基于微博热搜的yuqing监测系统
  12. asp车辆租赁-汽车租赁管理系统
  13. iphone6s读写速度测试软件,iPhone6S/7/8运行iOS13速度测试:结果有点失望
  14. anaconda 和Tensorflow 2 安装
  15. 精准电流走向分析|用笔记本电脑的供电电路描述MOS管的两大功能:开关作用和隔离功能
  16. 基于VMware 的 hive安装与启动
  17. elementUI table 修改表格背景色,去除单元格底部横线
  18. 诺基亚n1 android 64位,诺基亚N1开始推送安卓5.0.2系统更新
  19. day2:算法之美|打开算法之门与算法复杂性
  20. SMETA认证辅导,SMATA验厂审核现场会查验哪些文件

热门文章

  1. Java新特性(二)
  2. gridview 动态数据操作
  3. maven中出现 ‘dependencies.dependency.version‘ for xxxx:jar is missing
  4. WARN RestSubmissionClient: Unable to connect to server spark://master:
  5. No module named 'oscar.apps.promotions'
  6. 线性链条件随机场与HMM在viterbi算法中的图解对比
  7. Qt5使用windeployqt后 exe文件还是无法执行 无法定位程序输入点 _ZdaPvj 于动态链接库 libstdc++-6.dll
  8. php error docref,PHP错误报告级别
  9. python随机生成10个整数列表_python_随机产生10个整数后找出最小值,最大值。
  10. 如何线程安全地遍历List:Vector、CopyOnWriteArrayList