HDU 1312

  题目大意: 一个地图里面有三种元素,分别为"@",".","#",其中@为人的起始位置,"#"可以想象为墙,然后.为可以走的空地,求人可以走的最大点数。

  解题思路:从起点开始,从4个方向进行递归遍历(已经访问的点进行标记)。

/*HDU 1312 ----- Red and Black  入门搜索 */
#include <cstdio> int n, m; //n行m列
int cnt, startx, starty;
char mapp[][]; /*找一个连通的区域里可以走的块*/
void dfs(int x, int y){
if (x < || x >= n || y < || y >= m || mapp[x][y] == '#')
return;
++cnt;
mapp[x][y] = '#'; //访问过后直接设置为#可省下一个标记数组visit
/*递归访问4个方向*/
dfs(x - , y);
dfs(x + , y);
dfs(x, y - );
dfs(x, y + );
} int main()
{
//注意题目先给的是列 n行m列
while (scanf("%d%d", &m, &n) == && (m + n)){
cnt = ;
for (int i = ; i < n; ++i){
scanf("%s", mapp[i]);
for (int j = ; j < m; ++j){
if ('@' == mapp[i][j]){
startx = i; //记录初始位置
starty = j;
}
}//for(j)
}//for(i)
dfs(startx, starty);
printf("%d\n", cnt);
} return ;
}

HDU 1312 Red and Black --- 入门搜索 DFS解法的更多相关文章

  1. HDU 1312 Red and Black --- 入门搜索 BFS解法

    HDU 1312 题目大意: 一个地图里面有三种元素,分别为"@",".","#",其中@为人的起始位置,"#"可以想象 ...

  2. 题解报告:hdu 1312 Red and Black(简单dfs)

    Problem Description There is a rectangular room, covered with square tiles. Each tile is colored eit ...

  3. HDU 1312 Red and Black(经典DFS)

    嗯... 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1312 一道很经典的dfs,设置上下左右四个方向,读入时记下起点,然后跑dfs即可...最后答 ...

  4. HDU 1312:Red and Black(DFS搜索)

      HDU 1312:Red and Black Time Limit:1000MS     Memory Limit:30000KB     64bit IO Format:%I64d & ...

  5. HDU 1312 Red and Black (dfs)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1312 Red and Black Time Limit: 2000/1000 MS (Java/Oth ...

  6. HDU 1312 Red and Black(最简单也是最经典的搜索)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1312 Red and Black Time Limit: 2000/1000 MS (Java/Oth ...

  7. HDU 1312 Red and Black(bfs,dfs均可,个人倾向bfs)

    题目代号:HDU 1312 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1312 Red and Black Time Limit: 2000/100 ...

  8. hdu 1312:Red and Black(DFS搜索,入门题)

    Red and Black Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  9. HDU 1312 Red and Black DFS(深度优先搜索) 和 BFS(广度优先搜索)

    Red and Black Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...

随机推荐

  1. POJ 3691 AC自动机上的dp

    题目大意: 给定一些不合理的DNA序列,再给一段较长的dna序列,问最少修改几次可以使序列中不存在任何不合理序列,不能找到修改方法输出-1 这里你修改某一个点的DNA可能会影响后面,我们不能单纯的找匹 ...

  2. 到目前为止,Linux下最完整的Samba服务器配置攻略 (转)

    http://blog.chinaunix.net/uid-23069658-id-3142052.html 安装平台为UBUNTU 14.04,直接软件中心安装samba, service smb ...

  3. 计算C++类所占用的字节(即sizeof)

    在类中,如果什么都没有,则类占用1个字节,一旦类中有其他的占用空间成员,则这1个字节就不在计算之内,如一个类只有一个int则占用4字节而不是5字节.如果只有成员函数,则还是只占用1个字节,因为类函数不 ...

  4. iOS 使用两个tableview的瀑布流

    代码 悦德财富:https://www.yuedecaifu.com 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ...

  5. yeild

    正在使用cpu的线程,退出,返回等待池,其他优先级相同的线程竞争上岗.

  6. viewController的自动扩展属性导致TableViewGroupStyle时向上填充

    self.automaticallyAdjustsScrollViewInsets = NO; 需设置这个属性

  7. CentOS 7.0默认使用的是firewall作为防火墙。

    systemctl start firewalld.service#启动firewallsystemctl stop firewalld.service#停止firewallsystemctl dis ...

  8. mine layer(2008 World Final C)

    类似于扫雷游戏,在一些格子中散布着一些地雷,具体的埋藏位置并不清楚,但知道每个格子及其周围八个格子的地雷总数.请问此时正中间那一行最多可能有多少地雷(题目假定所有的输入都是奇数行的)? 输入: 第一行 ...

  9. maven学习之一本地(windows)安装

    step1.检查jdk安装: maven的运行需要jdk的支持,至少是jdk1.4,按如下步骤: 开始>cmd>java -version,如成功出现jdk信息,如下图,则表示已安装jdk ...

  10. js注册验证

    var user = $("user");var userCheck = $("userCheck");var pwd = $("pwd") ...