#include <iostream>
using namespace std;
/*int insideMaze(int x, int y){
if(x>=6 || y >=5 || x<0 || y< 0)
{
return 0;
}
return 1;
}*/
int visited[6][5] ={0}; // 0 is for not visited
bool findPath(int a[6][5], int n1, int m1){
if(visited[n1][m1]){
return false;
}
if(n1>=6 || m1 >=5 || n1<0 || m1<0){
return false;
}
if(a[n1][m1] == 0){
return false;
}
if(a[n1][m1]==2){
return true;
}
//cout<<"["<<n1<<","<<m1<<"] ";
visited[n1][m1] = 1;
if(findPath(a,n1-1,m1)==true){
return true;
}
if(findPath(a,n1,m1-1)==true){
return true;
}
if(findPath(a,n1+1,m1)==true){
return true;
}
if(findPath(a,n1,m1+1)==true){
return true;
}
return false;
}
int main() {
// your code goes here
//int a[10][10];
int a[6][5] = {
{0,1,1,0,0},
{1,0,1,1,1},
{0,0,0,0,0},
{0,1,1,1,1},
{0,0,1,1,0},
{1,0,1,1,2}
};
if(findPath(a,1,2)){
cout<<"Path Found";
}
else{
cout<<"Path not found";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLyppbnQgaW5zaWRlTWF6ZShpbnQgeCwgaW50IHkpewppZih4Pj02IHx8IHkgPj01IHx8IHg8MCB8fCB5PCAwKQp7CiAgICByZXR1cm4gMDsKfQpyZXR1cm4gMTsKfSovCmludCB2aXNpdGVkWzZdWzVdID17MH07IC8vIDAgaXMgZm9yIG5vdCB2aXNpdGVkCmJvb2wgZmluZFBhdGgoaW50IGFbNl1bNV0sIGludCBuMSwgaW50IG0xKXsKaWYodmlzaXRlZFtuMV1bbTFdKXsKCXJldHVybiBmYWxzZTsKfQppZihuMT49NiB8fCBtMSA+PTUgfHwgbjE8MCB8fCBtMTwwKXsKICAgIHJldHVybiBmYWxzZTsKfQoKaWYoYVtuMV1bbTFdID09IDApewogICAgcmV0dXJuIGZhbHNlOwp9CmlmKGFbbjFdW20xXT09Mil7CiAgICByZXR1cm4gdHJ1ZTsKfQovL2NvdXQ8PCJbIjw8bjE8PCIsIjw8bTE8PCJdICI7CnZpc2l0ZWRbbjFdW20xXSA9IDE7CmlmKGZpbmRQYXRoKGEsbjEtMSxtMSk9PXRydWUpewogICAgcmV0dXJuIHRydWU7Cn0KaWYoZmluZFBhdGgoYSxuMSxtMS0xKT09dHJ1ZSl7CiAgICByZXR1cm4gdHJ1ZTsKfQppZihmaW5kUGF0aChhLG4xKzEsbTEpPT10cnVlKXsKICAgIHJldHVybiB0cnVlOwp9CmlmKGZpbmRQYXRoKGEsbjEsbTErMSk9PXRydWUpewogICAgcmV0dXJuIHRydWU7Cn0KCnJldHVybiBmYWxzZTsKfQoKaW50IG1haW4oKSB7Ci8vIHlvdXIgY29kZSBnb2VzIGhlcmUKLy9pbnQgYVsxMF1bMTBdOwppbnQgYVs2XVs1XSA9IHsKICAgICAgICAgezAsMSwxLDAsMH0sCiAgICAgICAgIHsxLDAsMSwxLDF9LAogICAgICAgICB7MCwwLDAsMCwwfSwKICAgICAgICAgezAsMSwxLDEsMX0sCiAgICAgICAgIHswLDAsMSwxLDB9LAogICAgICAgICB7MSwwLDEsMSwyfQogICAgICAgIH07CmlmKGZpbmRQYXRoKGEsMSwyKSl7CiAgICBjb3V0PDwiUGF0aCBGb3VuZCI7Cn0KZWxzZXsKCWNvdXQ8PCJQYXRoIG5vdCBmb3VuZCI7Cn0KCnJldHVybiAwOwp9