2448: 库克船长的宝藏

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:25 解决:3

题目描述

题目描述

库克船长在无名岛上埋藏了一些宝藏,找到它们需要路过一片沼泽地,rain 在库克船长的笔记里面发现了通过沼泽的方法,沼泽地里铺满了石头,都是库克船长早就铺好的,石头都是蓝色或者绿色,绿色的石头铺成的路是可以走的,蓝色的石头踩上会被沼泽吞没。rain 一开始站在一块绿色的石头上,并且 rain 从一块石头可以向上下左右四个方向移动到其他的石头上,但是他不能移动到蓝色的石头上,只能移动到绿色石头上。
请你编程计算 rain 可以走到的绿色石头最多有多少块。

输入描述

输入包含多组测试数据。
每组输入首先是两个正整数 WH,分别表示石头的列行数。(1≤W,H≤20)
接下来 H 行,每行包含 W 个字符,字符含义如下:
‘.’表示绿石头;
‘#’表示蓝石头;
‘@’表示rain一开始站的位置,此位置是一块绿石头,并且这个字符在每组输入中仅会出现一个。
W=0,H=0 时,输入结束。

输出描述

对于每组输入,输出 rain 可以走到的绿色石头最多有多少块,包括 rain 最开始站的那块绿色石头。

样例输入 复制

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

样例输出 复制

45
59
6
13

来源/分类