HDU 1241 是深搜算法的入门题目,递归实现。

原题目传送门:

http://acm.hdu.edu.cn/showproblem.php?pid=1241

代码仅供参考,c++实现:

#include <iostream>
using namespace std; char land[][];
int p,q; void dfs(int x,int y){
land[x][y] = '*';
if(land[x-][y]!= '@' && land[x+][y] != '@' && land[x][y-] != '@' && land[x][y+] != '@' && land[x-][y+]!= '@' && land[x+][y-] != '@' && land[x-][y-] != '@' && land[x+][y+] != '@')
return ; if(x+ > && y+ > && x+ <= p && y+ <= q && land[x+][y+]== '@') { dfs(x+,y+); }
if(x+ > && y- > && x+ <= p && y- <= q && land[x+][y-]== '@') { dfs(x+,y-); }
if(y- > && x- > && x- <= p && y- <= q && land[x-][y-]== '@') { dfs(x-,y-); }
if(y+ > && x- > && x- <= p && y+ <= q && land[x-][y+]== '@') { dfs(x-,y+); } if(x+ > && y > && x+ <= p && y <= q && land[x+][y]== '@') { dfs(x+,y); }
if(x- > && y > && x- <= p && y <= q && land[x-][y]== '@') { dfs(x-,y); }
if(y- > && x > && x <= p && y- <= q && land[x][y-]== '@') { dfs(x,y-); }
if(y+ > && x > && x <= p && y+ <= q && land[x][y+]== '@') { dfs(x,y+); } return ;
}
int main(int argc, const char * argv[]) { int num;
cin>>p>>q;
while(p> && q>){ num = ;
for(int i = ; i <= p ;i++){
for(int j = ; j<= q; j++){
cin>>land[i][j];
}
}
for(int i = ; i <= p ;i++){
for(int j = ; j<= q; j++){
if(land[i][j] == '@'){
num++;
dfs(i,j);
} }
}
cout<< num<<endl;
cin>>p>>q;
}
return ;
}

深搜基础题目 杭电 HDU 1241的更多相关文章

  1. 杭电 HDU ACM 2795 Billboard(线段树伪装版)

    Billboard Time Limit: 20000/8000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  2. 杭电 HDU 1242 Rescue

    http://acm.hdu.edu.cn/showproblem.php?pid=1242 问题:牢房里有墙(#),警卫(x)和道路( . ),天使被关在牢房里位置为a,你的位置在r处,杀死一个警卫 ...

  3. ACM 杭电HDU 2084 数塔 [解题报告]

    数塔 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...

  4. 杭电 HDU ACM Milk

    Milk Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  5. 杭电 HDU 4608 I-number

    http://acm.hdu.edu.cn/showproblem.php?pid=4608 听说这个题是比赛的签到题......无语..... 问题:给你一个数x,求比它大的数y. y的要求: 1. ...

  6. 杭电 HDU 1031 Design T-Shirt

    Design T-Shirt Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) T ...

  7. 杭电 HDU ACM 1698 Just a Hook(线段树 区间更新 延迟标记)

    欢迎"热爱编程"的高考少年--报考杭州电子科技大学计算机学院 Just a Hook Time Limit: 4000/2000 MS (Java/Others)    Memor ...

  8. 杭电hdu 2089 数位dp

    杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer). 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍 ...

  9. 杭电 HDU 2717 Catch That Cow

    Catch That Cow Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) T ...

随机推荐

  1. mvc ajax请求

    @{ ViewBag.Title = "ajax"; } <script src="../../Scripts/jquery-1.4.4.js" type ...

  2. URL & webkitURL

    base64带来的坑 在web中想要是实现图片在线预览的方式有几种 1.先上传 2.使用FileReader对象 3.URL.createObjectURL(file|blob) base64 能将图 ...

  3. python基础之 optparse.OptionParser

    optparse是专门用来在命令行添加选项的一个模块. 首先来看一段示例代码 from optparse import OptionParser MSG_USAGE = "myprog[ - ...

  4. 写一个Windows上的守护进程(2)单例

    写一个Windows上的守护进程(2)单例 上一篇的日志类的实现里有个这: class Singleton<CLoggerImpl> 看名字便知其意--单例.这是一个单例模板类. 一个进程 ...

  5. 元器件选型(一)ESD、TVS参考资料

    许多开发人员都遇到过这样的情况:在实验室开发好的产品,测试完全通过,但到了客户手里用了一段时间之后,出现异常现 象,甚至是产品失效需要返修,并且故障率往往也不高(1%以下).一般情况下,以上问题大都由 ...

  6. 懒省事的小明--nyoj55

    懒省事的小明 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述      小明很想吃果子,正好果园果子熟了.在果园里,小明已经将所有的果子打了下来,而且按果子的不同种类分成 ...

  7. PHP配置xdebug

    其实已经做PHP超过2年了,但是今天特别有感触,所以把过程写在这里 环境是win7+apache2.2+php5.3,因为某种原因,必须使用这个版本. 然后就死活配置不出来.apache日志如下: [ ...

  8. MySQL应用层传输协议分析

    001.在MySQL应用层传输协议中主要有如下三种类型的数据: 01.整数类型. 02.字符串类型. 03.描述数据包. 002.MySQL应用层传输协议中对整型的说明: 01.固定长度的整型---- ...

  9. 正式学习React (六) 项目篇

    https://github.com/huenchao/yingshili 或者点这里 注意事项看ReadME.md 会持续更新,反正就是把之前分析的redux react-redux都用一下,然后会 ...

  10. android 手势滑动

    1.概述, 两次都是画曲线统计图用到手势滑动.左滑动,右滑动曲线图翻页 2.直接上代码 3.注: 第一次使用的时候是implement了 OnTouchListener 接口,是在画图布局上layou ...