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