|

楼主 |
发表于 2025-1-19 10:32:52
|
显示全部楼层
本帖最后由 程子 于 2025-1-19 10:37 编辑
#include<bits/stdc++.h>
using namespace std;
int a[13][13],sum;
int vis[13][13],dx[]{0,1,0,-1};
int dy[]{1,0,-1,0};struct P{int x,y;};
void dfs(){
queue<P>q;q.push({0,0});vis[0][0]=true;sumn++;
while(!q.empty()){
for(int i=0;i<4;i++){
int nx=q.front().x+dx,ny=q.front().y+dy;
if(nx<0||nx>11||ny<0||ny>11||vis[nx][ny]||a[nx][ny]==1)continue;
sum++;q.push({nx,ny});vis[nx][ny]=true;
}q.pop();
}
}int main(){
memset(a,0,sizeof a);
for(int i=1;i<=10;i++)for(int j=1;j<=10;j++)cin>>a[j];
for(int i=1;i<=10;i++)for(int j=1;j<=10;j++)if(a[j]==1)sumn++;
bfs();printf("%d\n",144-sumn);
return 0;
} |
|