很简单的DFS搜索水题,递归理解深了很easy的!打了一遍就ac了

#include<stdio.h>
int atr[][];
int count=,n,m;
void DFS(int x,int y)
{
int i=;
for(i=;i<;i++)
{
if(i==)
{
if((y-)>=&&atr[y-][x]==)/*向上有点并且可以访问*/
{
count++;
atr[y-][x]=;
DFS(x,y-);
}
}
else if(i==)
{
if((x+)<m&&atr[y][x+]==)/*向上有点并且可以访问*/
{
count++;
atr[y][x+]=;
DFS(x+,y);
}
}
else if(i==)
{
if((y+)<n&&atr[y+][x]==)
{
count++;
atr[y+][x]=;
DFS(x,y+);
}
}
else if(i==)
{
if((x-)>=&&atr[y][x-]==)
{
count++;
atr[y][x-]=;
DFS(x-,y);
}
}
}
}
int main(int argc, char* argv[])
{
int i,j;
char c;
int sx,sy;
while(scanf("%d%d",&m,&n)!=EOF&&(m!=||n!=))
{
count=;
getchar();
for(i=;i<n;i++)
{
for(j=;j<m;j++)
{
scanf("%c",&c);
if(c=='.')
atr[i][j]=;
else if(c=='#')
atr[i][j]=-;
else if(c=='@')
{
atr[i][j]=;
sx=j;sy=i;
}
}
getchar();
}
DFS(sx,sy);
printf("%d\n",count);
}
return ;
}

zoj 2165的更多相关文章

  1. POJ 1979 Red and Black (zoj 2165) DFS

    传送门: poj:http://poj.org/problem?id=1979 zoj:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problem ...

  2. ZOJ题目分类

    ZOJ题目分类初学者题: 1001 1037 1048 1049 1051 1067 1115 1151 1201 1205 1216 1240 1241 1242 1251 1292 1331 13 ...

  3. ZOJ People Counting

    第十三届浙江省大学生程序设计竞赛 I 题, 一道模拟题. ZOJ  3944http://www.icpc.moe/onlinejudge/showProblem.do?problemCode=394 ...

  4. ZOJ 3686 A Simple Tree Problem

    A Simple Tree Problem Time Limit: 3 Seconds      Memory Limit: 65536 KB Given a rooted tree, each no ...

  5. ZOJ Problem Set - 1394 Polar Explorer

    这道题目还是简单的,但是自己WA了好几次,总结下: 1.对输入的总结,加上上次ZOJ Problem Set - 1334 Basically Speaking ac代码及总结这道题目的总结 题目要求 ...

  6. ZOJ Problem Set - 1392 The Hardest Problem Ever

    放了一个长长的暑假,可能是这辈子最后一个这么长的暑假了吧,呵呵...今天来实验室了,先找了zoj上面简单的题目练练手直接贴代码了,不解释,就是一道简单的密文转换问题: #include <std ...

  7. ZOJ Problem Set - 1049 I Think I Need a Houseboat

    这道题目说白了是一道平面几何的数学问题,重在理解题目的意思: 题目说,弗雷德想买地盖房养老,但是土地每年会被密西西比河淹掉一部分,而且经调查是以半圆形的方式淹没的,每年淹没50平方英里,以初始水岸线为 ...

  8. ZOJ Problem Set - 1006 Do the Untwist

    今天在ZOJ上做了道很简单的题目是关于加密解密问题的,此题的关键点就在于求余的逆运算: 比如假设都是正整数 A=(B-C)%D 则 B - C = D*n + A 其中 A < D 移项 B = ...

  9. ZOJ Problem Set - 1001 A + B Problem

    ZOJ ACM题集,编译环境VC6.0 #include <stdio.h> int main() { int a,b; while(scanf("%d%d",& ...

随机推荐

  1. 基于ArcEngine的影像数据管理系统研制

    基于ArcEngine的影像数据管理系统研制 如果批处理,速度很慢,效率低. 详情如下: 分成很多小块的影像数据,要达到连续显示的效果,并导入ArcSDE for SQL Server中以方便管理.在 ...

  2. [问题解决] ubuntu server12.04 按ctrl+alt+F1没用

    错误: ubuntu server12.04 想从图形化界面变成命令行界面时候,按ctrl+alt+F1没用 发生场景: 虚拟机下的ubuntu server12.04 解决方案: 因为ctrl+al ...

  3. impala安装

    http://blog.sina.com.cn/s/blog_8c6d7ff60101e3lh.html ----------------------------------------------- ...

  4. 九度OJ 题目1534:数组中第K小的数字(二分解)

    题目链接:点击打开链接 题目描述: 给定两个整型数组A和B.我们将A和B中的元素两两相加可以得到数组C. 譬如A为[1,2],B为[3,4].那么由A和B中的元素两两相加得到的数组C为[4,5,5,6 ...

  5. mysql binlog 混合模式 出现的基于sql的数据不一致,主要是now()这类函数导致

  6. mongodb remove删除文档的用法

    在看<mongoDB权威指南>中,在删除文档时,出现问题: 书中介绍:采用db.foo.remove()命令则可以删除foo集合中所有的文档,但是在执行该命令时,shell客户端却报错. ...

  7. [基础]RHEL6下iSCSI客户端挂载配置

    本文根据鸟哥私房菜进行操作:http://linux.vbird.org/linux_enterprise/xen.php?thisscreen=800x600 一.侦测 [root@vhost3 ~ ...

  8. 从零开始学习UNITY3D(GUI篇 群组视图控件)

    控件组可以看成一个大的容器,控件组里面的控件,相对位置已该控件组为基准,而不再已屏幕左上角为基准. 下面来看一下代码实例及其效果截图: public class GUI2 : MonoBehaviou ...

  9. js 全局函数

    全局函数与内置对象的属性或方法不是一个概念. 全局函数它不属于任何一个内置对象. JS中有14个全局函数 函数 描述 decodeURI() 解码某个编码的 URI. decodeURICompone ...

  10. CSS3 旋转3D立方体

    <meta charset="utf-8"> <style> *{ margin:0px; padding:0px; } @-webkit-keyframe ...