Rat Chases its cheese


Why test cases are failing ?

You need to maintain a visited array and use the following approach as :
out[i][j]=1;
visited[i][j]=true;

bool rightSuccess,downSuccess,topSuccess,leftSuccess;

if(visited[i+1][j]==false && out[i+1][j]==0)
{
downSuccess=ratMaze(inp,out,i+1,j,n,m);
}

if(visited[i][j+1]==false && out[i][j+1]==0)
{
rightSuccess=ratMaze(inp,out,i,j+1,n,m);
}

if(out[i-1][j]==0)
{
topSuccess=ratMaze(inp,out,i-1,j,n,m);
}
if(out[i][j-1]==0)
{
leftSuccess=ratMaze(inp,out,i,j-1,n,m);
}
if(leftSuccess || rightSuccess || topSuccess || downSuccess)
{
return true;
}
out[i][j]=0;
return false;