area
1 #include<bits/stdc++.h> 2 #define N 11 3 using namespace std; 4 int a[N][N]; 5 int vis[N][N]; 6 int dir[4][2]={{-1,0},{1,0},{0,-1},{0,1}}; 7 int cnt=0; 8 struct node{ 9 int x; 10 int y; 11 }q[200]; 12 void bfs(int x0,int y0) 13 { 14 a[x0][y0]=1; 15 vis[x0][y0]=1; 16 17 int head=1,tail=1; 18 q[tail].x=x0; 19 q[tail].y=y0; 20 tail++; 21 while(head<tail) 22 { 23 int x=q[head].x; 24 int y=q[head].y; 25 for(int i=0;i<4;i++) 26 { 27 int nx=x+dir[i][0]; 28 int ny=y+dir[i][1]; 29 if(1<=nx&&nx<=10&&1<=ny&&ny<=10&&a[nx][ny]==0&&vis[nx][ny]==0) 30 { 31 vis[nx][ny]=1; 32 a[nx][ny]=1; 33 q[tail].x=nx; 34 q[tail].y=ny; 35 tail++; 36 } 37 } 38 head++; 39 } 40 } 41 void bfs_cnt(int x0,int y0) 42 { 43 vis[x0][y0]=1; 44 cnt++; 45 int head=1,tail=1; 46 q[tail].x=x0; 47 q[tail].y=y0; 48 tail++; 49 while(head<tail) 50 { 51 int x=q[head].x; 52 int y=q[head].y; 53 for(int i=0;i<4;i++) 54 { 55 int nx=x+dir[i][0]; 56 int ny=y+dir[i][1]; 57 if(1<=nx&&nx<=10&&1<=ny&&ny<=10&&a[nx][ny]==0&&vis[nx][ny]==0) 58 { 59 vis[nx][ny]=1; 60 q[tail].x=nx; 61 q[tail].y=ny; 62 tail++; 63 cnt++; 64 } 65 } 66 head++; 67 } 68 } 69 int main() 70 { 71 for(int i=1;i<=10;i++) 72 for(int j=1;j<=10;j++) 73 cin>>a[i][j]; 74 for(int j=1;j<=10;j++) 75 if(a[1][j]==0) 76 bfs(1,j); 77 for(int j=1;j<=10;j++) 78 if(a[10][j]==0) 79 bfs(10,j); 80 for(int i=1;i<=10;i++) 81 if(a[1][i]==0) 82 bfs(1,i); 83 for(int i=1;i<=10;i++) 84 if(a[10][i]==0) 85 bfs(10,i); 86 for(int i=1;i<=10;i++) 87 for(int j=1;j<=10;j++) 88 if(a[i][j]==0&&vis[i][j]==0) 89 bfs_cnt(i,j); 90 cout<<cnt<<endl; 91 return 0; 92 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现