hdu 1312 Red and Black 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1312
第二条深搜,题目并不难,但是做了我好久好久,由于一个细节,让我赌上了一个晚上的时间。
题目大意:从图中的标记'@'开始,向四个相邻的方向找黑色瓷片'.' ,统计能经过的黑色瓷片的数目('@'也算统计中的一个),当然,这个人是不能走红色瓷片'#'的。
有两个地方需要注意:1、要分清w、h,哪一个对应行,哪一个表示列,非常别扭,最好不要按它的(w:列 h:行) 2、统计符合条件的 '.' 时,不要遗漏了对初始位置'@'的统计。
总结: 细心真的非常非常重要!!!!
1 #include <iostream> 2 using namespace std; 3 4 char map[25][25]; 5 int h, w, num; 6 7 void dfs(int i, int j) 8 { 9 if (map[i][j] != '.' || i < 0 || j < 0 || i >= h || j >= w) 10 return; 11 else 12 { 13 num++; //找到'.'就统计 14 map[i][j] = '#'; 15 dfs(i-1, j); 16 dfs(i, j+1); 17 dfs(i+1, j); 18 dfs(i, j-1); 19 } 20 } 21 22 int main() 23 { 24 int i, j, k, l; 25 while (cin >> w >> h && (w || h)) 26 { 27 num = 0; 28 for (i = 0; i < h; i++) //h的位置之前写成了w, 29 { 30 for (j = 0; j < w; j++) //w的位置之前写成了h,下面的for语句也是这样,找了很久才发现这个bug 31 32 cin >> map[i][j]; 33 } 34 for (i = 0; i < h; i++) 35 { 36 for (j = 0; j < w; j++) 37 { 38 if (map[i][j] == '@') 39 { 40 map[i][j] = '.'; 41 dfs(i, j); 42 } 43 } 44 } 45 cout << num << endl; 46 } 47 return 0; 48 }
转载于:https://www.cnblogs.com/windysai/archive/2013/04/22/3036626.html
hdu 1312 Red and Black 解题报告相关推荐
- 杭电 HOJ 1312 Red and Black 解题报告
搜索,bfs.依旧用队列做.边界处懒得处理,全部初始化为-1.当然,0也可以.AC代码如下: #include<iostream> #include<deque> using ...
- Hdu 1312 Red and Black
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1312 //极其简单的dfs #include<iostream> using namesp ...
- hdu 1022 Train Problem I 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1022 其实是一道上数据结构课讲过的例题 只不过当时讲的是怎么用手算 一道水题又花了好长时间 其实就 ...
- HDU 4383 To The Moon 解题报告
HDU 4383 To The Moon 题意翻译 已知一个长为\(n\)的序列\(a\),你需要进行下面的四种操作. C l r d 将区间\([l,r]\)中的数加上\(d\),同时时间加\(1\ ...
- hdu 2049 不容易系列之(4)——考新郎 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2049 写这篇解题报告时 我真的很气愤 对自己又一次犯下低级错误改了两个小时 int型的数据居然用%I6 ...
- hdu 2058 解题报告 - The sum problem
hdu 2058 解题报告 - The sum problem 传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2058 等差求和公式: Sn=(a1+aN ...
- 解题报告 (十四) 数位DP
文章目录 数位DP 解题报告 HDU 4722 Good Numbers HDU 2089 不要62 HDU 3555 Bomb HDU 3652 B-number PKU 3252 Round Nu ...
- 解题报告(四)生成函数(ACM/ OI)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...
- 解题报告(一)F、(2018 ACM - ICPC shenyang I)Distance Between Sweethearts(数学期望 + 乘法原理 + FWT)(4.5)
繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...
最新文章
- Linux之SSH协议知识点总结
- MNIST 训练测试
- ViewFlipper的使用
- java 获取麦克_Java Sound API-捕获麦克风
- nodejs 的序列化与反序列化
- C和指针之动态内存分配常见问题和总结
- 8086条件转移指令JE,JZ
- 【Java】《基于Java的面向对象范式》学习笔记分享
- 【AI面试题】Kmeams算法流程以及Kmeans++介绍
- HttpURLConnection与HttpClient提交FORM表单参数请求工具类
- 按键精灵注册服务器,按键精灵网页注册脚本教程
- 【WP 8.1开发】如何把自定义字体塞进应用里
- MAX30102心率血样模块在STM32F103芯片的程序说明
- 工作类书籍之计算机相关
- 安卓变苹果12系统永久,安卓系统变苹果系统2020
- android xp,安卓手机刷xp系统装机版xp
- Linux网卡驱动分析
- Excel#整体增加相同行高的宏命令#
- ueditor+实现word图片自动上传
- elixir添加erlang模块