➤ Problem Link : ALCATRAZ3
👉 Hint : edit please
✅ C++ Solution :
#include<bits/stdc++.h>
using namespace std;
char arr[101][101];
bool visited[101][101];
int arr1[]={0,-1,1,0};
int arr2[]={1,0,0,-1};
int sx,sy,n,m,k;
bool dfs(int x,int y,int l)
{
visited[x][y]=1;
for(int i=0;i<4;i++)
{
int a=x+arr1[i];
int b=y+arr2[i];
if(a==sx && b==sy)
{
if(l>=k)
return true;
return false;
}
if(a<=n && a>=1 && b<=m && b>=1 && arr[a][b]!='*' && !visited[a][b] && dfs(a,b,l+1))
return true;
}
visited[x][y]=0;
return false;
}
int main()
{
cin>>n>>m;
cin>>k;
cin>>sx>>sy;
memset(visited,0,sizeof(visited));
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
cin>>arr[i][j];
}
if(dfs(sx,sy,1))
cout<<"YES";
else
cout<<"NO";
}
Thank you for your patience reading. If you enjoyed this post, I’d be very grateful if you’d help it spread by emailing it to a friend, or sharing it on Whatsapp or Facebook.
😇Happy Learning!!
