#T1358. 库克船长的宝藏

库克船长的宝藏

题目描述

库克船长在无名岛上埋藏了一些宝藏,找到它们需要路过一片沼泽地,rainrain 在库克船长的笔记里面发现了通过沼泽的方法,沼泽地里铺满了石头,都是库克船长早就铺好的,石头都是蓝色或者绿色,绿色的石头铺成的路是可以走的,蓝色的石头踩上会被沼泽吞没。

rainrain 一开始站在一块绿色的石头上,并且 rainrain 从一块石头可以向上下左右四个方向移动到其他的石头上,但是他不能移动到蓝色的石头上,只能移动到绿色石头上。

请你编程计算 rainrain 可以走到的绿色石头最多有多少块。

输入格式

输入包含多组测试数据。

每组输入首先是两个正整数 WWHH,分别表示石头的列行数。 接下来 HH 行,每行包含 WW 个字符,字符含义如下:

  • .: 表示绿石头;
  • #: 表示蓝石头;
  • @: 表示rain一开始站的位置,此位置是一块绿石头,并且这个字符在每组输入中仅会出现一个。

W=0,H=0W=0, H=0 时,输入结束。

输出格式

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

6 9
....#.
.....#
......
......
......
......
......
#@...#
.#..#.
11 9
.#.........
.#.#######.
.#.#.....#.
.#.#.###.#.
.#.#..@#.#.
.#.#####.#.
.#.......#.
.#########.
...........
11 6
..#..#..#..
..#..#..#..
..#..#..###
..#..#..#@.
..#..#..#..
..#..#..#..
7 7
..#.#..
..#.#..
###.###
...@...
###.###
..#.#..
..#.#..
0 0
45
59
6
13

数据规模与约定

对于 100%100\% 的数据,1WH201\le W,H\le 20