解题思路
这道题直接循环遍历处理数组元素即可。
代码
#includeusing namespace std; int main() { int m, n, a, b, i, j, x, y; cin >> m >> n >> a >> b; char c[600][600], d[600][600]; for (i = 0; i < m; i++) { for (j = 0; j < n; j++) { cin >> c[i][j]; d[i][j] = c[i][j]; } } for (i = 0; i < m; i++) { for (j = 0; j < n; j++) { if (d[i][j] == '1') { for (x = i - a; x <= i + a; x++) { for (y = j - b; y <= j + b; y++) { if (x == i && y == j || x < 0 || y < 0 || x >= m || y >= n) { continue; } c[x][y] = '1'; } } } } } for (i = 0; i < m; i++) { for (j = 0; j < n; j++) { cout << c[i][j]; } cout << endl; } return 0; }



