UESTC Treasure----dfs

本文介绍了一种使用记忆化深度优先搜索(DFS)算法解决迷宫寻宝问题的方法。目标是在给定的迷宫中找到骑士可以获取的最大宝藏数量。算法通过遍历地图并标记已访问位置来避免重复计算,确保了效率。

Treasure

Time Limit: 2000 ms Memory Limit: 65535 kB
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..
....
...*

 

 

Sample Output
2
1

*******************************************
记忆化dfs
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值