#4475. 库克船长的宝藏
库克船长的宝藏
库克船长的宝藏
题目描述
库克船长在无名岛上埋藏了一些宝藏,找到它们需要路过一片沼泽地。沼泽地里铺满了石头,石头都是蓝色或者绿色,绿色的石头铺成的路是可以走的,蓝色的石头踩上会被沼泽吞没。rain 一开始站在一块绿色的石头上,可以向上下左右四个方向移动到其他石头上,但不能移动到蓝色石头上。
请你编程计算 rain 可以走到的绿色石头最多有多少块。
输入格式
输入包含多组测试数据。
每组输入首先是两个正整数 和 ,分别表示石头的列数和行数()。
接下来 行,每行包含 个字符:
.表示绿石头;#表示蓝石头;@表示 rain 一开始站的位置,此位置是一块绿石头,每组输入中仅出现一次。
当 , 时,输入结束。
输出格式
对于每组输入,输出 rain 可以走到的绿色石头最多有多少块,包括最开始站的那块。
样例输入 #1
6 9
....#.
.....#
......
......
......
......
......
#@...#
.#..#.
11 9
.#.........
.#.#######.
.#.#.....#.
.#.#.###.#.
.#.#..@#.#.
.#.#####.#.
.#.......#.
.#########.
...........
11 6
..#..#..#..
..#..#..#..
..#..#..###
..#..#..#@.
..#..#..#..
..#..#..#..
7 7
..#.#..
..#.#..
###.###
...@...
###.###
..#.#..
..#.#..
0 0
样例输出 #1
45
59
6
13
数据范围
。
知识点与难度
本题涉及的知识点从属于 GESP六级(DFS/BFS 搜索),难度等级:⭐⭐⭐。
测试点分布
| Subtask | 分值 | 测试点编号 | 说明 |
|---|---|---|---|
| 0 | 10 | 1~2 | 样例 |
| 1 | 20 | 3~8 | 小规模 / 特殊性质 |
| 2 | 15 | 9~11 | Hack |
| 3 | 30 | 12~20 | 中大规模 |
| 4 | 25 | 21~25 | 随机回归 |