Min Steps in a matrix
Rippling OAuser_4874964657
python
2 years ago
562 B
2
Indexable
import sys n,m=[int(i) for i in input().split()] mat=[] for i in range(n): l=[int(i) for i in input().split()] mat.append(l) vis=[[-1]*m for i in range(n)] dp=[[9999999]*m for i in range(n)] def min_steps(i,j): if i==n-1 and j==m-1: return 0 if i>n-1 or j>m-1: return 9999999 if vis[i][j]!=-1: return dp[i][j] vis[i][j]=0 dp[i][j]=1+min(min_steps(i+mat[i][j],j),min_steps(i,j+mat[i][j])) return dp[i][j] res=min_steps(0,0) print(dp) if res>=9999999: print(-1) else: print(res)
Editor is loading...