Given a rectangular matrix, we can move from current cell in 4 directions with equal probability. The 4 directions are right, left, top or bottom. Calculate the Probability that after N moves from a given position (i, j) in the matrix, we will not cross boundaries of the matrix at any point.
We strongly recommend you to minimize your browser and try this yourself first.
The idea is to perform something similar to DFS. We recursively traverse in each of the 4 allowed direction and for each cell encountered, we calculate the required probability with one less move. As each direction has equal probability, each direction will contribute to 1/4 of total probability of that cell i.e. 0.25. We return 0 if we step outside the matrix and return 1 if N steps are completed without crossing matrix boundaries.
Below is the implementation of above idea :
Probability is 0.875
This article is contributed by Aditya Goel. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above
- Program to check diagonal matrix and scalar matrix
- Circular Matrix (Construct a matrix with numbers 1 to m*n in spiral way)
- Count frequency of k in a matrix of size n where matrix(i, j) = i+j
- Maximize sum of N X N upper left sub-matrix from given 2N X 2N matrix
- Check if it is possible to make the given matrix increasing matrix or not
- Program to convert given Matrix to a Diagonal Matrix
- Program to check if a matrix is Binary matrix or not
- Find probability of selecting element from kth column after N iterations
- Finding the probability of a state at a given time in a Markov chain | Set 2
- Find the probability of a state at a given time in a Markov chain | Set 1
- Find trace of matrix formed by adding Row-major and Column-major order of same matrix
- A Boolean Matrix Question
- Matrix Exponentiation
- Determinant of a Matrix
- Pascal Matrix