You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
1.1 KiB

2 years ago
/*<2A><>ɫ<EFBFBD><C9AB>:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>color<6F>IJ<EFBFBD><C4B2><EFBFBD>*/
#include<stdio.h>
int a[51][51];
int book[51][51];
int n, m, sum;
void dfs(int x, int y, int color) {
int k, tx, ty;
//<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int next[4][2] = { { 0, 1 },//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{ 1, 0 },//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{ 0, -1 },//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{ -1, 0 }
};//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
a[x][y] = color;//<2F><>a[x][y]<5D><><EFBFBD><EFBFBD>Ⱦɫ
//ö<><C3B6><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD>
for (k = 0; k<4; k++) {
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
tx = x + next[k][0];
ty = y + next[k][1];
//<2F>ж<EFBFBD><D0B6>Ƿ<EFBFBD>Խ<EFBFBD><D4BD>
if (tx<1 || tx>n || ty<1 || ty>m)
continue;
//<2F>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD>½<EFBFBD><C2BD>
if (a[tx][ty]>0 && book[tx][ty] == 0) {
sum++;
book[tx][ty] = 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE>߹<EFBFBD>
dfs(tx, ty, color);//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>
}
}
return;
}
int main() {
int i, j, startx, starty;
scanf("%d %d %d %d", &n, &m, &startx, &starty);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ
for (i = 1; i <= n; i++)
for (j = 1; j <= m; j++)
scanf("%d", &a[i][j]); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ
book[startx][starty] = 1;
sum = 1;
dfs(startx, starty, -1);//<2F><>-1<><31>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ⱦɫ
//<2F><><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD>Ⱦɫ<C8BE><C9AB><EFBFBD>ĵ<EFBFBD>ͼ
for (i = 1; i <= n; i++) {
for (j = 1; j <= m; j++) {
printf("%3d", a[i][j]);//%3d<33>е<EFBFBD>3<EFBFBD><33>c<EFBFBD><63><EFBFBD><EFBFBD><EFBFBD>еij<D0B5><C4B3><EFBFBD>
}
printf("\n");
}
getchar();
getchar();
return 0;
}