30119 - Borg Maze

博格是来自银河系三角洲象限的一种极其强大的增强人类种族。博格集体是用来描述博格文明的群体意识的术语。每个博格个体通过一个复杂的亚空间网络与集体相连,这确保了每个成员都能得到持续的监督和指导。

你的任务是通过开发一个程序来帮助博格(没错,真的)估算在迷宫中扫描外星人以进行同化的最小成本,移动方向为北、西、东和南。棘手的是,搜索的开始是由一个超过100个个体的大组进行的。每当一个外星人被同化,或者在搜索开始时,组可能会分成两个或更多组(但他们的意识仍然是集体的)。搜索迷宫的成本定义为所有参与搜索的组共同覆盖的总距离。也就是说,如果原始组走了五步,然后分成两个组每个走三步,总距离就是11=5+3+3。

输入

输入的第一行是一个整数,N <= 50,表示输入中的测试用例数量。每个测试用例以一行包含两个整数x, y开始,其中1 <= x,y <= 50。之后,接下来有y行,每行有x个字符。对于每个字符,空格` ''表示开放空间,井号#''表示阻挡墙,字母A''表示外星人,字母S''表示搜索的起点。迷宫的周边始终是封闭的,即没有办法从S`的坐标出去。迷宫中最多有100个外星人,且每个外星人都是可以到达的。

输出

对于每个测试用例,输出一行,包含成功搜索迷宫而不留下任何外星人存活的最小成本

样例

输入

2
6 5
##### 
#A#A##
# # A#
#S  ##
##### 
7 7
#####  
#AAA###
#    A#
# S ###
#     #
#AAA###
#####  

输出

8
11
时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题