3215494_wa.cpp
来自「北大大牛代码 1240道题的原代码 超级权威」· C++ 代码 · 共 84 行
CPP
84 行
#include <stdio.h>
#include <string.h>
int num[5];
char map[11][11];
int mov[][2] = {{0,1},{0,-1},{-1,0},{1,0},{1,1},{1,-1},{-1,-1},{-1,1}};
int cnt;
void flood_fill(int i,int j)
{
int k;
map[i][j] = '.';
cnt++;
for(k = 0; k < 4; 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, k, n;
for(i = 1; i <= 10; i++)
{
scanf("%s",&map[i]);
}
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;
}
}
for(i = 2; i <= 9; i++)
{
for(j = 2; j <= 9; j++)
{
if(map[i][j]=='1')
{
for(k = 4; k < 8; k++)
{
if(map[i+mov[k][0]][j+mov[k][1]]=='1')
{
puts("incorrect");
return 0;
}
}
}
}
}
n = 0;
memset(num,0,sizeof(num));
for(i = 2; i <= 9; i++)
{
for(j = 2; j <= 9; j++)
{
if(map[i][j]=='1')
{
cnt = 0;
flood_fill(i,j);
if(cnt > 4)
{
puts("incorrect");
return 0;
}
num[cnt]++;
n++;
}
}
}
if(n!=10||num[1]!=4||num[2]!=3||num[3]!=2||num[4]!=1)
puts("incorrect");
else
puts("correct");
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?