#include<stdio.h>
#define maxn 30
int main()
{
int n, m, a[maxn][maxn],b[maxn],c[maxn], d[maxn], e[maxn], s=0,t=0;
scanf("%d%d", &n, &m);
int i, j;
for (i = 0; i < n; i++)
for (j = 0; j < m;j++)
scanf("%d",&a[i][j]);
for (i = 0; i < n; i++)
{
for (j = 0; j < m-2; j++)
{
if (a[i][j] == a[i][j + 1]&& a[i][j + 1] == a[i][j + 2])//一行上有三个连续相等
{
b[s] = i, c[s] = j + 1;
s++;
}
}
}
for (j = 0; j < m; j++)
{
for (i = 0; i< n - 2; i++)
{
if (a[i][j] == a[i+1][j] == a[i+2][j])//一列上有三个连续相等
{
d[t] = i+1, e[t] = j;
t++;
}
}
}
for (i = 0; i < s; i++)//一行上
{
a[b[i]][c[i]] = 0;
a[b[i]][c[i]-1] = 0;
a[b[i]][c[i]+1] = 0;
}
for (i = 0; i < t; i++)
{
a[d[i]][e[i]] = 0;
a[d[i]-1][e[i]] = 0;
a[d[i]+1][e[i]] = 0;
}
for (i = 0; i < n; i++)
for (j = 0; j < m; j++)
printf("%d ", a[i][j]);
printf("\n");
return 0;
}
#CSP 201512-2 消除类游戏(100分)
猜你喜欢
转载自blog.csdn.net/weixin_45884316/article/details/104340077
今日推荐
周排行