Description
Solutions
Minimum Moves
🤘 INTERN

There is a maze in HackerPlay where children play for recreation.

The maze is represented as an n x m grid of cells, where each cell is either empty (denoted by 0), or contains an obstacle (denoted by 1). HackerMan is currently standing at cell (0, 0), and wishes to reach the cell (n - 1, m - 1).

For a jump parameter denoted by k, in one move, HackerMan can move to any of the following cells:

  1. (i + k, j) where 1 ≤ k ≤ n provided cell (i + k, j) lies in the maze and there are no cells containing obstacles in the range (i + 1, j) to (i + k, j).
  2. (i, j + k) where 1 ≤ k ≤ m provided cell (i, j + k) lies in the maze and there are no cells containing obstacles in the range (i, j + 1) to (i, j + k).
  3. (i - k, j) where 1 ≤ k ≤ n provided cell (i - k, j) lies in the maze and there are no cells containing obstacles in the range (i - 1, j) to (i - k, j).
  4. (i, j - k) where 1 ≤ k ≤ m provided cell (i, j - k) lies in the maze and there are no cells containing obstacles in the range (i, j - 1) to (i, j - k).

Determine the minimum number of moves in which HackerMan can reach the cell (n - 1, m - 1) starting from (0, 0), or -1 if it is impossible to reach that cell.

Function Description

Complete the function getMinimumMoves in the editor.

getMinimumMoves has the following parameters:

  1. int maze[n][m]: the maze in HackerPlay where HackerMan is standing
  2. int k: the maximum distance HackerMan can traverse in one move

Returns

int: the minimum number of moves in which HackerMan can reach the destination cell (n - 1, m - 1)

Example 1:

Input:  maze = [[0, 1], [1, 0]], k = 2
Output: 2
Explanation:

The maze looks like this.

[[0, 0],
[1, 0]]

The following sequence of moves can be performed: (0, 0) to (0, 1) to (1, 1). Hence, HackerMan can reach the end in 2 moves, which is minimum possible. The answer is 2.

Example 2:

Input:  maze = [[0, 0, 0], [1, 0, 0], [1, 0, 0]], k = 5
Output: 2
Explanation:

The maze can be represented as:

[[0, 0, 0],
[1, 0, 0],
[1, 0, 0]]

The following sequence of moves can be performed: (0, 0) to (0, 2) to (1, 2).

Example 3:

Input:  maze = [[0, 1, 0], [1, 0, 0], [1, 0, 0]], k = 5
Output: -1
Explanation:

The maze can be represented as:

[[0, 1, 0],
[1, 1, 0],
[1, 0, 0]]

HackerMan is blocked and cannot move from the cell (0, 0).

Constraints:
  • 1 ≤ n, m ≤ 100
  • 1 ≤ k ≤ 100
  • Each cell of the grid contains values either 0 or 1.
Thumbnail 0
Testcase

Result
Case 1

input:

output: