3214975_wa.cpp

来自「北大大牛代码 1240道题的原代码 超级权威」· C++ 代码 · 共 62 行

CPP
62
字号
#include <stdio.h>
#include <string.h>

int num[5];
char map[11][11];

int mov[][2] = {{0,1},{0,-1},{1,1},{1,-1},{1,0},{-1,-1},{-1,0},{-1,1}};
int cnt;

void flood_fill(int i,int j)
{
	int k;

	map[i][j] = '.';
	cnt++;
	for(k = 0; k < 8; k++)
	{
		if(map[i+mov[k][0]][j+mov[k][1]]=='1')
		{
			flood_fill(i+mov[k][0],j+mov[k][1]);
		}
	}
}

int main()
{
	int i, j, n;

	for(i = 1; i <= 10; i++)
	{
		scanf("%s",&map[1]);
	}
	for(i = 1; i <= 10; i++)
	{
		if(map[i][1]=='1'||map[i][10]=='1'||map[1][i]=='1'||map[10][i]=='1')
		{
			puts("incorrect");
			return 0;
		}
	}
	n = 0;
	memset(num,0,sizeof(num));
	for(i = 1; i <= 10; i++)
	{
		for(j = 1; j <= 10; j++)
		{
			if(map[i][j]=='1')
			{
				cnt = 0;
				flood_fill(i,j);
				num[cnt]++;
				n++;
			}
		}
	}
	if(n!=10||num[1]!=1||num[2]!=2||num[3]!=3||num[4]!=4)
		puts("incorrect");
	else
		puts("correct");
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?