poj-1979 dfs
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相关推荐
- A - 棋盘问题 POJ - 1321(dfs)
A - 棋盘问题 POJ - 1321 dfs 复杂度计算: dfs共进行a步,每步需要循环n次,复杂度为 a^n次方 首先是暴力 an*n,果然炸了 #include<cstdio> # ...
- POJ 1979 Red and Black (简单dfs)
题目: 简单dfs,没什么好说的 代码: #include <iostream> using namespace std; typedef long long ll; #define IN ...
- POJ 1979 Red and Black DFS
简单DFS 注意边界就行了. // #pragma comment(linker, "/STACK:1024000000,1024000000") #include<cstd ...
- POJ 1979 红与黑
题目地址: http://poj.org/problem?id=1979 或者 https://vjudge.net/problem/OpenJ_Bailian-2816 Red and Blac ...
- poj 2531(dfs)
题目链接:http://poj.org/problem?id=2531 思路:由于N才20,可以dfs爆搞,枚举所有的情况,复杂度为2^(n). 1 #include<iostream> ...
- POJ - Hopscotch(DFS)
题目链接:http://poj.org/problem?id=3050 Time Limit: 1000MS Memory Limit: 65536K Description The cows pla ...
- POJ 2458 DFS+判重
题意: 思路: 搜+判重 嗯搞定 (听说有好多人用7个for写得-.) //By SiriusRen #include <bitset> #include <cstdio>0 ...
- POJ 2230 DFS
题意: Bessie 最近做了农场看守,他每天晚上的工作就是巡视农场并且保证没有坏人破坏农场.从谷仓出发去巡视,并且最终回到谷仓. Bessie 视力不是很好,不能像其他农场的看守一样,对农场的每一条 ...
- poj 3411(DFS多点访问)
题意:有n座城市和m(1<=n,m<=10)条路.现在要从城市1到城市n.有些路是要收费的,从a城市到b城市,如果之前到过c城市,那么只要付P的钱,如果没有去过就付R的钱.求的是最少要花多 ...
- POJ 3051 DFS
题意:判断连通块大小 水题 //By SiriusRen #include <cstdio> #include <cstring> #include <algorithm ...
最新文章
- centos6 升级gcc / 无法识别的命令行选项“-std=gnu++1y”的解决办法
- ROS初级教程1---官方ROS文件系统导览
- @Autowired自动注入
- [渝粤教育] 西南科技大学 线性代数 在线考试复习资料
- hive 集成sentry
- python和anaconda区别_Pycharm、Anaconda到底是什么?有什么区别?
- 在java反射中 Class.forName和classLoader的区别
- 大数组,找某数字的左,右边界
- firemonkey mysql_FireMonkey开发技术简明手册.pdf
- hutool实战(带你掌握里面的各种工具)目录
- 信息内容安全-基于微博热搜的yuqing监测系统
- asp车辆租赁-汽车租赁管理系统
- iphone6s读写速度测试软件,iPhone6S/7/8运行iOS13速度测试:结果有点失望
- anaconda 和Tensorflow 2 安装
- 精准电流走向分析|用笔记本电脑的供电电路描述MOS管的两大功能:开关作用和隔离功能
- 基于VMware 的 hive安装与启动
- elementUI table 修改表格背景色,去除单元格底部横线
- 诺基亚n1 android 64位,诺基亚N1开始推送安卓5.0.2系统更新
- day2:算法之美|打开算法之门与算法复杂性
- SMETA认证辅导,SMATA验厂审核现场会查验哪些文件
热门文章
- Java新特性(二)
- gridview 动态数据操作
- maven中出现 ‘dependencies.dependency.version‘ for xxxx:jar is missing
- WARN RestSubmissionClient: Unable to connect to server spark://master:
- No module named 'oscar.apps.promotions'
- 线性链条件随机场与HMM在viterbi算法中的图解对比
- Qt5使用windeployqt后 exe文件还是无法执行 无法定位程序输入点 _ZdaPvj 于动态链接库 libstdc++-6.dll
- php error docref,PHP错误报告级别
- python随机生成10个整数列表_python_随机产生10个整数后找出最小值,最大值。
- 如何线程安全地遍历List:Vector、CopyOnWriteArrayList