func_code_string: #include <bits/stdc++.h>   using namespace std;   int n, m, i, j, k, l, art[505][505], low[505][505], used[505][505], ans, cn, t,       x, y, z, mx, mn, s, timer, vis[505][505];   char c[505][505], d[1000009], ch;   void dfs(int row, int col) {     timer++;     used[row][col] = 1;     if ((row - 1 >= 0) && (used[row - 1][col] == 0) && (timer < s) &&         (c[row - 1][col] ==  . )) {       dfs(row - 1, col);     }     if ((col - 1 >= 0) && (used[row][col - 1] == 0) && (timer < s) &&         (c[row][col - 1] ==  . )) {       dfs(row, col - 1);     }     if ((row + 1 < n) && (used[row + 1][col] == 0) && (timer < s) &&         (c[row + 1][col] ==  . )) {       dfs(row + 1, col);     }     if ((col + 1 < m) && (used[row][col + 1] == 0) && (timer < s) &&         (c[row][col + 1] ==  . )) {       dfs(row, col + 1);     }   }   int main() {     while (scanf( %d %d %d , &n, &m, &k) != EOF) {       x = y = s = 0;       timer = 1;       for (i = 0; i < n; i++) {         scanf( %s , c[i]);         for (j = 0; j < m; j++) {           if (c[i][j] ==  . ) {             s++;             x = i;             y = j;           }         }       }       s -= k;       memset(used, 0, sizeof(used));       timer = 0;       dfs(x, y);       for (i = 0; i < n; i++) {         for (j = 0; j < m; j++) {           if ((used[i][j] == 0) && (c[i][j] ==  . )) {             k--;             printf( X );           } else {             printf( %c , c[i][j]);           }         }         printf(  n );       }     }     return 0;   }   