题目:http://118.190.20.162/view.page?gpid=T36
#include <bits/stdc++.h>
using namespace std;
int n,m;
int main()
{
cin>>n>>m;
int a[n][m];
bool flag[n][m];
fill(flag[0],flag[0]+n*m,false);
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
cin>>a[i][j];
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<m-2;j++)
{
/*int k=j+1;
while(a[i][j]==a[i][k])
{
k++;
}
if(k-j>=3)
{
for(int t=j;t<k;t++)
flag[i][t]=true;
j=k-1;
}*/
if(a[i][j]==a[i][j+1]&&a[i][j+1]==a[i][j+2])
{
flag[i][j]=1;
flag[i][j+1]=1;
flag[i][j+2]=1;
}
}
}
for(int i=0;i<m;i++)
{
for(int j=0;j<n-2;j++)
{
/*int k=j+1;
while(a[j][i]==a[k][i])
{
k++;
}
if(k-j>=3)
{
for(int t=j;t<k;t++)
flag[t][i]=true;
j=k-1;
}*/
if(a[j][i]==a[j+1][i]&&a[j+1][i]==a[j+2][i])
{
flag[j][i]=1;
flag[j+1][i]=1;
flag[j+2][i]=1;
}
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
if(flag[i][j])
a[i][j]=0;
cout<<a[i][j]<<" ";
}
cout<<endl;
}
return 0;
}