1 条题解
-
0Guest LV 0
-
1
#include<bits/stdc++.h>
using namespace std;
const int maxn=10010;
int a[11][11],nexx[4][2]={{0,1},{1,0},{0,-1},{-1,0}};
int hx[maxn],hy[maxn],tx,ty,head,tail,sum=0;
void init()
{
for(int i=1;i<=10;i++)
for(int j=1;j<=10;j++)
cin>>a[i][j];
}
void bfs(int x,int y)
{
head=0;tail=1;
hx[tail]=x;
hy[tail]=y;
a[x][y]=1;
while(head<tail)
{
head++;
int tx,ty;
for(int i=0;i<4;i++)
{
tx=hx[head]+nexx[i][0];
ty=hy[head]+nexx[i][1];
if(tx>=1&&tx<=10&&ty>=1&&ty<=10&&a[tx][ty]==0)
{
tail++;
hx[tail]=tx;
hy[tail]=ty;
a[tx][ty]=1;
}
}
}
}
int main()
{
init();
for(int i=1;i<=10;i++)
{
if(a[i][1]==0) bfs(i,1);
if(a[1][i]==0) bfs(1,i);
if(a[i][10]==0) bfs(i,10);
if(a[10][i]==0) bfs(10,i);
}for(int i=1;i<=10;i++)
for(int j=1;j<=10;j++)
if(a[i][j]==0) sum++;
cout<<sum<<endl;
return 0;
}
- 1
信息
- 难度
- 4
- 分类
- (无)
- 标签
- 递交数
- 82
- 已通过
- 33
- 通过率
- 40%
- 上传者