func_code_string: #include <bits/stdc++.h>   using namespace std;   typedef struct {     int i;     int j;   } AXIS;   AXIS D[] = {{1, 0}, {-1, 0}, {0, 1}, {0, -1}};   bool DFS(char maze[][505], AXIS S, int &k, int &n, int &m) {     maze[S.i][S.j] =  * ;     for (int i = 0; i < 4; i++) {       AXIS next;       next.i = S.i + D[i].i;       next.j = S.j + D[i].j;       if (maze[next.i][next.j] ==  .  && 0 <= next.i && next.i < n &&           0 <= next.j && next.j < m && DFS(maze, next, k, n, m)) {         maze[next.i][next.j] =  X ;         k--;       }       if (!k) return 0;     }     return 1;   }   int main() {     int n, m, k;     char maze[505][505];     AXIS start = {-1, -1};     cin >> n >> m >> k;     for (int i = 0; i < n; i++) {       for (int j = 0; j < m; j++) {         cin >> maze[i][j];         if (start.i < 0 && maze[i][j] ==  . ) {           start.i = i;           start.j = j;         }       }     }     DFS(maze, start, k, n, m);     for (int i = 0; i < n; i++) {       for (int j = 0; j < m; j++) {         if (maze[i][j] ==  * ) {           cout <<  . ;         } else {           cout << maze[i][j];         }       }       cout << endl;     }     return 0;   }   