深搜基础题目 杭电 HDU 1241
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的更多相关文章
- 杭电 HDU ACM 2795 Billboard(线段树伪装版)
Billboard Time Limit: 20000/8000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 杭电 HDU 1242 Rescue
http://acm.hdu.edu.cn/showproblem.php?pid=1242 问题:牢房里有墙(#),警卫(x)和道路( . ),天使被关在牢房里位置为a,你的位置在r处,杀死一个警卫 ...
- ACM 杭电HDU 2084 数塔 [解题报告]
数塔 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...
- 杭电 HDU ACM Milk
Milk Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- 杭电 HDU 4608 I-number
http://acm.hdu.edu.cn/showproblem.php?pid=4608 听说这个题是比赛的签到题......无语..... 问题:给你一个数x,求比它大的数y. y的要求: 1. ...
- 杭电 HDU 1031 Design T-Shirt
Design T-Shirt Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) T ...
- 杭电 HDU ACM 1698 Just a Hook(线段树 区间更新 延迟标记)
欢迎"热爱编程"的高考少年--报考杭州电子科技大学计算机学院 Just a Hook Time Limit: 4000/2000 MS (Java/Others) Memor ...
- 杭电hdu 2089 数位dp
杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer). 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍 ...
- 杭电 HDU 2717 Catch That Cow
Catch That Cow Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T ...
随机推荐
- java-随学随记之基础篇
一.Java是一门高级语言,具有跨平台性(一次编译到处运行) 1.javac.exe命令,编译器 javac 源文件名.java 2.java.exe命令,启动虚拟机 java 类名 二.环境变量 ...
- React-Native ListView加载图片淡入淡出效果的组件
今天练习项目中需要给listview在加载图片时增加一个淡入淡出的效果,因此干脆就自己封装了一个组件: 'use strict' import React from 'react-native' va ...
- js自定义事件、DOM/伪DOM自定义事件
一.说明.引言 我JS还是比较薄弱的,本文的内容属于边学边想边折腾的碎碎念,可能没什么条理,可能有表述不准确的地方,可能内容比较拗口生僻.如果您时间紧迫,或者JS造诣已深,至此您就可以点击右侧广告(木 ...
- 利用monkeyrunner实现Android屏幕连续截图
MonkeyRunner 什么是monkeyrunner monkeyrunner工具提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器.通过monke ...
- HDU 2604 - Queuing
长度为 n 有男有女的队伍里没有 fmf 和 fff 的序列有多少 判断最后一个人无法得出结论 于是判断最后两人的递推式: fm(n) = mm(n-1) //最后两人为fm的长度为n的队伍 只能 ...
- django 使用jquery ajax post数据问题
django 开启了CSRF功能导致jquery ajax post数据报错 解决方法在post数据里引入csrfmiddlewaretoken: '{{ csrf_token }}'},同时需要在f ...
- 自己动手打造html5星际迷航!
学习html5的canvas第三天,觉得还没过瘾,转眼就忘,于是趁着有空,准备弄个小游戏来玩!游戏应该需要注意性能,还有一些逻辑需要斟酌,我想还需要用户可修改性,也就是用户配置.好,开始我们简单但有趣 ...
- php 数组 (3) reset() end() count() current() key()
<?php /* count()统计数组中元素的个数 reset() 把数组内部指针移动到数组第一个元素,并返回元素值 end() 把数组内部指针移动到数组最后一个元素,并返回元素值 prev( ...
- printf--动态指定输出格式长度
char a1[] = {'A', 'B', 'C'}; char a2[] = "world"; printf(, a1, , a2); printf("[%.*s][ ...
- fdisk -l 找不到分区怎么办?想办法找到隐藏分区。
centos6.6 装系统的时候,选取系统默认分区.装好后发现少了一大部分空间,通过fdisk -l 找不到分区,另外使用 parted -l 同样找不到消失的柱面. 如: [root@mysql]# ...