JustPaste.it

package DPProblems;

import java.util.Scanner;

public class RatInMaze {

 

public static void main(String[]args)

{

Scanner sc=new Scanner(System.in);

int N=sc.nextInt();

int M=sc.nextInt();

char arr[][]=new char[N][M];

for(int i=0;i<N;i++)

{

for(int j=0;j<M;j++)

{

arr[i][j]=sc.next().charAt(0);

}

}

boolean flag[]= {false};

int ans[][]=new int[N][M];

funCall(arr,ans,N-1,M-1,0,0,flag);

if(flag[0]==false)

{

System.out.println("-1");

}

sc.close();

}

 

 

 

public static void funCall(char arr[][],int ans[][],int N,int M,int i,int j,boolean flag[])

{

if(arr[i][j]=='X')

{

return;

}

ans[i][j]=1;

if(i==N && j==M)

{

for(int k=0;k<=N;k++)

{

for(int l=0;l<=M;l++)

{

System.out.print(ans[k][l]+" ");

}

System.out.println();

}

flag[0]=true;

return;

}

if(i<=N && j+1<=M && flag[0]==false)

{

funCall(arr,ans,N,M,i,j+1,flag);

}

if(i+1<=N && j<=M && flag[0]==false)

{

funCall(arr,ans,N,M,i+1,j,flag);

}

ans[i][j]=0;

return;

}

 

}