4424: 洞穴探宝

内存限制:512 MB 时间限制:1 S 标准输入输出
题目类型:传统 评测方式:Special Judge 上传者:
提交:0 通过:0

题目描述

Bob来到了一个带有宝藏的洞穴,他最多能够成功拿回多少宝藏呢?

洞穴的地图可以由nm列的格子表示,其中“#”表示墙壁,“.”表示路径,“@”表示宝藏,“X”表示陷阱。 Bob可以在“.”或者“@”所在的格子自由移动,但每次只能走到上下左右相邻的某个格子中,无法进入“#”所在的格子。 特别的,Bob最多只能在“X”所在的格子停留一次,离开后会触发陷阱从而不能再次进入。 当Bob位于“@”所在的格子,或者位于“@”上下左右相邻的格子中时,即可拾取该宝藏。 Bob所能携带的宝藏的数量没有限制。

输入格式

包含不超过20组测试数据。

每组测试数据的第一行包含两个整数m,中间用一个空格隔开。 其中,3 ≤ n ≤ 1003 ≤ m ≤ 100

接下来包含一个列的洞穴的地图。 洞穴最外围一圈只有一个“.”,其余全部是“#”,该“.”所在的位置即为洞穴的入口, Bob需要从入口进入洞穴,最终拿完宝藏之后仍需从入口离开洞穴 。 洞穴中最多包含不超过10个宝藏和不超过10个陷阱。

输出格式

Bob最多能够成功拿回的宝藏个数。

输入样例 复制

3 4
####
.X@#
####
3 5
#####
.X@@#
#####
7 7
##.####
##.X@@#
##X#.##
#....##
#.##.##
#X.@###
#######

输出样例 复制

1
1
2