➤ Problem Link : 377A. Maze
✅ C++ Solution :
#include<bits/stdc++.h> using namespace std; #define ll long long int int n,m,k; char arr[501][501]; bool visited[501][501]; int lt[]={-1,1,0,0}; int rt[]={0,0,-1,1}; void dfs(int x,int y) { int X,Y; for(int i=0;i<4;i++) { X=x+lt[i]; Y=y+rt[i]; if(X>0 && X<=n && Y>0 && Y<=m && arr[X][Y]=='.' && !visited[X][Y]) { visited[X][Y]=1; dfs(X,Y); } } if(k>0) { k--; arr[x][y]='X'; } } int main() { cin>>n>>m>>k; memset(visited,0,sizeof( visited )); int si=-1,sj=-1; for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { cin>>arr[i][j]; if(arr[i][j]=='.') { si=i; sj=j; } } } visited[si][sj]=1; dfs(si,sj); if(k>0) arr[si][sj]='X'; for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) cout<<arr[i][j]; cout<<endl; } }
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!!