Now that Griffy has made lots of friends, he would like to play a game with them! Hide and seek is a game where the seeker needs to find and tag X
s, empty space is represented by .
s, Griffy's starting position will be G
, and the locations of the hiders are represented by H
. Griffy can fly one square up, down, left, or right of his current position in 1 second, and cannot fly through walls.
This, of course, is a great opportunity for you to hone your programming skills. Please determine the minimum amount of time it will take for Griffy to find all his hiding friends!
Note: It is guaranteed that a valid path exists.
Input Specification
First line:
Next
Output Specification
Output one integer, the minimum time in seconds that Griffy will take to find all the hiders. It is guaranteed that Griffy can find all hiders.
Sample Input
3 5 2
..H..
..X.H
G...X
Sample Output
7
Explanation for Sample Output
The path that takes the least amount of time is 2 up, 4 right and 1 down, for a total of
Comments
Is a greedy algorithm where you choose the nearest hider each time insufficient?
Imagine linear time TSP lmao.
This comment is hidden due to too much negative feedback. Show it anyway.
There are many ways to solve a problem. The problem types list a few common ways; not all of them may be required.
This comment is hidden due to too much negative feedback. Show it anyway.