2568. 库克船长的宝藏
1000ms
512MB
简单
深度优先搜索
DFS
题目描述
### 题目描述
库克船长在无名岛上埋藏了一些宝藏,找到它们需要路过一片沼泽地,rain 在库克船长的笔记里面发现了通过沼泽的方法,沼泽地里铺满了石头,都是库克船长早就铺好的,石头都是蓝色或者绿色,绿色的石头铺成的路是可以走的,蓝色的石头踩上会被沼泽吞没。rain 一开始站在一块绿色的石头上,并且 rain 从一块石头可以向上下左右四个方向移动到其他的石头上,但是他不能移动到蓝色的石头上,只能移动到绿色石头上。
请你编程计算 rain 可以走到的绿色石头最多有多少块。
输入格式
输入包含多组测试数据。
每组输入首先是两个正整数 W 和 H,分别表示石头的列数和行数($1 \le W, H \le 20$)。
接下来 H 行,每行包含 W 个字符,字符含义如下:
- `.` 表示绿石头;
- `#` 表示蓝石头;
- `@` 表示 rain 一开始站的位置。此位置是一块绿石头,并且这个字符在每组输入中仅出现一次。
当 $W=0$ 且 $H=0$ 时,输入结束。
输出格式
对于每组输入,输出 rain 可以走到的绿色石头最多有多少块,包括 rain 最开始站的那块绿色石头。
样例 1
输入 (Input)
输出 (Output)
$1 \le W, H \le 20$
› 输入 stdin
CtrlShiftEnter
‹ 输出 stdout
错误 stderr
操作成功