201512-2

#include <cstdio>
struct node{
	int data;
	int flag;
}Node[30][30];
int main()
{
	int n,m;
	scanf("%d%d",&n,&m);
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<m;j++)
		{
			scanf("%d",&Node[i][j].data);
			Node[i][j].flag=0;			
		}
	}
	for(int i=0;i<n;i++)
	{
		int start=0,end=0;
		while(start<m)
		{
			while(Node[i][start].data==Node[i][end+1].data)
			{
				end++;
			}
			if(end-start+1>=3)
			{
				for(int j=start;j<=end;j++)
				{
					Node[i][j].flag=1;
				}
			}
			start=end+1;
			end=start;
		}
	}
	for(int i=0;i<m;i++)
	{
		int start=0,end=0;
		while(start<n)
		{
			while(Node[start][i].data==Node[end+1][i].data)
			{
				end++;
			}
			if(end-start+1>=3)
			{
				for(int j=start;j<=end;j++)
				{
					Node[j][i].flag=1;
				}
			}
			start=end+1;
			end=start;
		}
	}
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<m;j++)
		{
			if(Node[i][j].flag) printf("0 ");
			else printf("%d ",Node[i][j]);
		}
		printf("\n");
	}
	return 0;
} 

猜你喜欢

转载自blog.csdn.net/Ebbandflow/article/details/89048505
今日推荐