func_code_string: #include <bits/stdc++.h>   using namespace std;   long long int n, m, k, s = 0, sx, sy, num;   char grid[600][600];   bool vis[600][600];   long long int dx[4] = {0, 0, -1, 1};   long long int dy[4] = {-1, 1, 0, 0};   bool check(long long int x, long long int y) {     if (x >= 0 && x < n && y >= 0 && y < m && grid[x][y] ==  .  && !vis[x][y])       return 1;     return 0;   }   void dfs(long long int x, long long int y) {     vis[x][y] = 1;     grid[x][y] =  M ;     if (num >= s - k) return;     for (long long int i = 0; i < 4; i++) {       long long int nx = x + dx[i];       long long int ny = y + dy[i];       if (num >= s - k) {         break;       }       if (check(nx, ny)) {         num++;         dfs(nx, ny);       }     }   }   int main() {     cin >> n >> m >> k;     memset(vis, 0, sizeof vis);     for (long long int i = 0; i < n; i++) {       for (long long int j = 0; j < m; j++) {         cin >> grid[i][j];         if (grid[i][j] ==  . ) {           s++;           sx = i;           sy = j;         }       }     }     num = 1;     dfs(sx, sy);     for (long long int i = 0; i < n; i++) {       for (long long int j = 0; j < m; j++) {         if (grid[i][j] ==  . ) grid[i][j] =  X ;         if (grid[i][j] ==  M ) grid[i][j] =  . ;         cout << grid[i][j];       }       cout << endl;     }     return 0;   }   