#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define max_size 100
void changeColor(int arr[max_size][max_size], int m, int n, int x, int y, int c) {
int swap = arr[x][y];
arr[x][y] = c;
if (x + 1 < m && arr[x + 1][y] == swap) {
changeColor(arr, m, n, x + 1, y, c);
}
if (y + 1 < n && arr[x][y + 1] == swap) {
changeColor(arr, m, n, x, y + 1, c);
}
if (x - 1 >= 0 && arr[x - 1][y] == swap) {
changeColor(arr, m, n, x - 1, y, c);
}
if (y - 1 >= 0 && arr[x][y - 1] == swap) {
changeColor(arr, m, n, x, y - 1, c);
}
}
int main() {
int m, n;
scanf("%d %d", &m, &n);
int arr[max_size][max_size] = { 0 };
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
scanf("%d", &arr[i][j]);
}
}
int x, y, c;//<指定点i0><指定点j0><指定新颜色值>
scanf("%d %d %d", &x, &y, &c);
changeColor(arr, m, n, x, y, c);
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
同色区域颜色置换
最新推荐文章于 2025-05-04 22:46:35 发布