Geeksforgeeks

Error

×

Geek initially standing at last row and first column of the **N*M** matrix and he wants to reach the first row and last column. But, the matrix has several obstacles through which the geek cannot pass (represented by **-1**) and the rest of the cells contains a number** x**, which represents the number of problems geek has to solve to pass through it. The task is to find the minimum number of problems chef has to solve to reach desired cell. If he cannot reach then print **-1**.

**Note:** Rows are numbered from top to bottom and columns are numbered from left to right.

**Input: **

1. The first line of the input contains a single integer* * **T** denoting the number of test cases. The description of **T** test cases follows.

2. The first line of each test case contains two space-separated integers N and M.

3. The next N lines contain M space-separated integers.

**Output:** For each test case, print** **the answer

**Constraints:**

1. 1 <= T <= 100

2. 1 <= N, M <= 100

3. -1 <= arr[i] <= 10^{5}

4. -1 represnts a blocked cell

5. mat[N][1] != -1

**Example:
Input:**

2

3 3

1 1 1

1 -1 2

2 3 1

1 2

1 -1

**Output:**

6

-1

**Explanation:
Test Case 1: **(3, 1) -> (2, 1) -> (1, 1) -> (1, 2) -> (1, 3) = 2 + 1 + 1 + 1 + 1 = 6

We are replacing the old Disqus forum with the new Discussions section given below.

Click here to view old Disqus comments.

Click here to view old Disqus comments.

Login to report an issue on this page.

We strongly recommend solving this problem on your own before viewing its editorial. Do you still want to view the editorial?

YesLoading...

Geek and Path

...