0长草 - 蓝桥云课 (lanqiao.cn)
#include <bits/stdc++.h>
using namespace std;
typedef pair<int, int>PII;
const int N = 1010;
char g[N][N];
int n, m, k;
queue<PII> q;
void dfs() {
while (!q.empty()) {
PII t = q.front();
int tx = t.first, ty = t.second;
q.pop();
g[tx - 1][ty] = 'g';
g[tx + 1][ty] = 'g';
g[tx][ty - 1] = 'g';
g[tx][ty + 1] = 'g';
}
}
int main() {
cin >> n >> m;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
cin >> g[i][j];
}
}
cin >> k;
while (k--) {
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
if (g[i][j] == 'g') {
q.push({i, j});
}
}
}
dfs();
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
cout << g[i][j];
}
cout << endl;
}
return 0;
}