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. java-随学随记之基础篇

    一.Java是一门高级语言,具有跨平台性(一次编译到处运行) 1.javac.exe命令,编译器   javac 源文件名.java 2.java.exe命令,启动虚拟机 java 类名 二.环境变量 ...

  2. React-Native ListView加载图片淡入淡出效果的组件

    今天练习项目中需要给listview在加载图片时增加一个淡入淡出的效果,因此干脆就自己封装了一个组件: 'use strict' import React from 'react-native' va ...

  3. js自定义事件、DOM/伪DOM自定义事件

    一.说明.引言 我JS还是比较薄弱的,本文的内容属于边学边想边折腾的碎碎念,可能没什么条理,可能有表述不准确的地方,可能内容比较拗口生僻.如果您时间紧迫,或者JS造诣已深,至此您就可以点击右侧广告(木 ...

  4. 利用monkeyrunner实现Android屏幕连续截图

    MonkeyRunner 什么是monkeyrunner monkeyrunner工具提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器.通过monke ...

  5. HDU 2604 - Queuing

    长度为 n 有男有女的队伍里没有 fmf 和 fff 的序列有多少 判断最后一个人无法得出结论 于是判断最后两人的递推式: fm(n) =   mm(n-1) //最后两人为fm的长度为n的队伍 只能 ...

  6. django 使用jquery ajax post数据问题

    django 开启了CSRF功能导致jquery ajax post数据报错 解决方法在post数据里引入csrfmiddlewaretoken: '{{ csrf_token }}'},同时需要在f ...

  7. 自己动手打造html5星际迷航!

    学习html5的canvas第三天,觉得还没过瘾,转眼就忘,于是趁着有空,准备弄个小游戏来玩!游戏应该需要注意性能,还有一些逻辑需要斟酌,我想还需要用户可修改性,也就是用户配置.好,开始我们简单但有趣 ...

  8. php 数组 (3) reset() end() count() current() key()

    <?php /* count()统计数组中元素的个数 reset() 把数组内部指针移动到数组第一个元素,并返回元素值 end() 把数组内部指针移动到数组最后一个元素,并返回元素值 prev( ...

  9. printf--动态指定输出格式长度

    char a1[] = {'A', 'B', 'C'}; char a2[] = "world"; printf(, a1, , a2); printf("[%.*s][ ...

  10. fdisk -l 找不到分区怎么办?想办法找到隐藏分区。

    centos6.6 装系统的时候,选取系统默认分区.装好后发现少了一大部分空间,通过fdisk -l 找不到分区,另外使用 parted -l 同样找不到消失的柱面. 如: [root@mysql]# ...