Treasure
Time Limit: 2000 ms
Memory Limit: 65535 kB
Solved: 68 Tried: 140
Solved: 68 Tried: 140
Description
Loneknight is finding treasures in a maze. He is so greedy that he always takes away all the treasure he can reach. Now, he has a map for the maze, and he want to know the maximum of treasure he can get. Please help him calculate this value. Note that in every step, Loneknight can only move up, down, left, or right, if the target place is not a wall. Moreover, he can't move out of the maze, or you may assume that there is a wall suround the whole maze.
Input
The input consists of several test cases. Each test case start with a line containing two number, n, m(1 < n, m <= 1000), the rows and the columns of grid. Then n lines follow, each contain exact m characters, representing the type of block in it. (. for empty place, X for loneknight, * for treasure, # for wall). Each case contain exactly one X. The input end with EOF.
Output
You have to print the maximum number of treasures loneknight can get in a single line for each case.
Sample Input
4 4
*...
.X..
....
...*
4 4
*#..
#X..
....
...*
*...
.X..
....
...*
4 4
*#..
#X..
....
...*
Sample Output
2
1
*******************************************
1
*******************************************
记忆化dfs
本文介绍了一种使用记忆化深度优先搜索(DFS)算法解决迷宫寻宝问题的方法。目标是在给定的迷宫中找到骑士可以获取的最大宝藏数量。算法通过遍历地图并标记已访问位置来避免重复计算,确保了效率。
453

被折叠的 条评论
为什么被折叠?



