Responsive image

问题 I: 简单搜索之迷宫问题

问题 I: 简单搜索之迷宫问题

时间限制: 1 Sec  内存限制: 128 MB
提交: 0  解决: 51
[提交][状态][讨论版][命题人:]

题目描述

这有一间铺满方形瓷砖的长方形客房。 每块瓷砖的颜色是红色或者黑色。 一个人站在一块黑色瓷砖上, 他可以从这块瓷砖移动到相邻(即,上下左右)的四块瓷砖中的一块。 但是他只能移动到黑色瓷砖上,而不能移动到红色瓷砖上。编写一个程序,通过重复上述动作来计算他可以达到的黑色瓷砖的数量。

输入描述

输入包含多组数据。 每组数据包含两个正整数W和H; H表示瓷砖的行数,W表示瓷砖的列数。 W和H不超过20。

瓷砖的颜色用字符表示,如下所示。

‘.’ 表示黑色瓷砖
‘#’ 表示红色瓷砖
‘@’ 表示站在黑色瓷砖上的人(每组数据中只有一个)


输出描述

对于每组数据,你的程序应输出一行,其中包含他可以到达的黑色瓷砖数目。(站着的黑色瓷砖也要包含在内)

样例输入

6 9
....#.
.....#
......
......
......
......
......
#@...#
.#..#.
11 9
.#.........
.#.#######.
.#.#.....#.
.#.#.###.#.
.#.#..@#.#.
.#.#####.#.
.#.......#.
.#########.
...........
11 6
..#..#..#..
..#..#..#..
..#..#..###
..#..#..#@.
..#..#..#..
..#..#..#..
7 7
..#.#..
..#.#..
###.###
...@...
###.###
..#.#..
..#.#..
0 0

样例输出

45
59
6
13

提示

DFS、BFS

[提交][状态]
ACM算法攻关部