1013: 湖南省第十七届大学生计算机程序设计竞赛(HNCPC2021) - Semilive

开始时间Start Time
2021-12-05 18:00:00
结束时间End Time
2021-12-05 23:00:00
当前时间Current Time
2025-12-14 19:52:10
比赛状态Contest Status
比赛类型Contest Type
公开Public
榜单状态Rank Status

G (1163) : 洞穴探宝

时间限制Time Limit 1 Sec 内存限制Memory Limit 512 MB 提交次数Submitted 6 Times 通过次数Solved 3 Times 标准评测Standard Judge

题目描述Description

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

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

输入格式Input

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

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

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

输出格式Output

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

样例Sample