## GFSSOC '14 Winter S3 - Hide n Seek

View as PDF

Points: 12 (partial)
Time limit: 2.5s
Memory limit: 32M

Authors:
Problem types

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 stationary hiders, all around the school. Griffy volunteered to be the seeker first, so he can show off his super-sonic flying speed! The school is rows by columns, walls are represented by Xs, 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: , , , space separated .

Next lines: characters per line, representing the school map.

#### 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 seconds.

• commented on June 23, 2019, 11:49 p.m.

Is a greedy algorithm where you choose the nearest hider each time insufficient?

• commented on Oct. 26, 2019, 6:03 p.m.

Imagine linear time TSP lmao.

• commented on Jan. 17, 2015, 6:47 p.m.

Recursion isn't needed (this from a person who hasn't solved it yet).

• commented on Jan. 17, 2015, 7:31 p.m.

There are many ways to solve a problem. The problem types list a few common ways; not all of them may be required.

• commented on Jan. 17, 2015, 6:50 p.m.

Oh never mind. I'm dumb.