package com.interview.recursion;
import java.util.Arrays;
/**
http://www.geeksforgeeks.org/print-all-possible-paths-from-top-left-to-bottom-right-of-a-mxn-matrix/
*/
public class PrintAllPathFromTopLeftToBottomRight {
public void print(int arr[][],int row, int col,int result[],int pos){
if(row == arr.length-1 && col == arr[0].length-1){
result[pos] = arr[row][col];
System.out.println(Arrays.toString(result));
return;
}
if(row >= arr.length || col >= arr[0].length){
return;
}
result[pos] = arr[row][col];
print(arr,row,col+1,result,pos+1);
print(arr,row+1,col,result,pos+1);
}
public static void main(String args[]){
PrintAllPathFromTopLeftToBottomRight pam = new PrintAllPathFromTopLeftToBottomRight();
int arr[][] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};
int result[] = new int[arr.length + arr[0].length-1];
pam.print(arr, 0, 0, result,0);
}
}