墓地网站建设价格,网页制作与设计简称,网站做地区定位跳转,管理网站用什么系统好题目可能看起来很难的样子#xff0c;但是看懂了其实挺简单的。#xff08;众所周知#xff0c;pat考察英文水平#xff09;
题目意思大概是#xff1a;给你一个L*M*N的01长方体#xff0c;求全为1的连通块的总体积大小。#xff08;连通块体积大于T才计算在内#xf…题目可能看起来很难的样子但是看懂了其实挺简单的。众所周知pat考察英文水平
题目意思大概是给你一个L*M*N的01长方体求全为1的连通块的总体积大小。连通块体积大于T才计算在内
思路直接搜索每个为1的点计算连通块大小即可。
#includebits/stdc.h
using namespace std;
int n,m,l,t;
int mp[70][1300][130];
bool vis[70][1300][130];
struct node{int z,x,y;
};
bool check(int x,int y,int z){return x0xny0ymz0zl;
}
int bfs(int i,int j,int k){queuenodeq;q.push({i,j,k});int dx[6]{0,0,1,-1,0,0};int dy[6]{1,-1,0,0,0,0};int dz[6]{0,0,0,0,1,-1};int res0;while(q.size()){node fq.front();q.pop();if(vis[f.z][f.x][f.y])continue;res;vis[f.z][f.x][f.y]1;for(int i0;i6;i){int xxf.xdx[i];int yyf.ydy[i];int zzf.zdz[i];if(check(xx,yy,zz)mp[zz][xx][yy]!vis[zz][xx][yy]){q.push({zz,xx,yy});}}}return res;
}
int main(){cinnmlt;for(int i0;il;i){for(int j0;jn;j)for(int k0;km;k)cinmp[i][j][k];}int ans0;for(int i0;il;i){for(int j0;jn;j)for(int k0;km;k){if(!vis[i][j][k]mp[i][j][k]){int resbfs(i,j,k);if(rest)ansres;}}}coutans;
}