很简单的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. JavaScript和php常用语法——切割字符串

    在面向Web的应用中,前台和后台通信非常常用的一种格式就是字符串,所以,在通信中,我们不可避免的就需要进行字符串的拼切. 在js代码中,当我们传递一个字符串到后台代码时,我们在后台需要对字符串进行切割 ...

  2. javascript - 工作笔记 (事件绑定)

    背景: 目前所做的项目,只能使用的是原生的javascript.对于javascript的事件绑定想必大家都懂得语法: 1,在标签中使用属性调用方法:<div onclick="AAA ...

  3. 2016 Multi-University Training Contest 3 总结

    又是多校总结时间. 这两天重感冒,精神不佳,总结一拖再拖,结果到了多校第四场结束后回来总结第三场.不过因为还在补第三场的题,所以还是记得挺清楚的 欣君说决定自己AFK试试,于是全程读题算公式. 欣君翻 ...

  4. POJ1185 炮兵阵地 状态压缩

    因为不知道不同的博客怎么转,就把别人的复制过来了,这个题解写的非常好,原地址为: http://hi.baidu.com/wangxustf/item/9138f80ce2292b8903ce1bc7 ...

  5. Cocos2d-x 3.0 lua规划 真正的现在Android在响应Home密钥和Back纽带

    local listenerKey= cc.EventListenerKeyboard:create() local function onKeyReleaseed(keycode,event) if ...

  6. 初识Maven

    今天开始学习怎样使用maven,听起来挺神奇的东西,我们来一步一步的加以剖析. Maven的一些具体的论文的东西,网上很多博客介绍,这里我就不逐一介绍,下面我们从安装maven开始讲解: (1)Mav ...

  7. if---(switch-case)语句初步学习总结

    Daily sentence:  Happiness is about having each tiny wish come true. 幸福就是达成每一个Tiny Wish. Ctrl+E D C# ...

  8. JS 严格模式

    标志 "use strict"; //老版本浏览器会自动忽略 调用 //整个文件调用 (function(){ "use strict"; })(); //单个 ...

  9. Android sdk + PhoneGap 配置

    最近在学习这方面.   安卓sdk(下载地址百度谷歌即可) . 最新版的安卓sdk 自带ADT(基于eclipse) 开发工具 所以 我们不需要另外下载 eclipse 即可开始开发. 安卓个版本ap ...

  10. 桦仔 笔记4-徐 模仿灾难发生时还原adventurework数据库 示例 stopat

    1 --模仿灾难发生时还原adventurework数据库 示例 stopat 2 3 BACKUP DATABASE AdventureWorks 4 TO DISK= 'D:\MSSQL\Data ...