zoukankan      html  css  js  c++  java
  • 【PAT甲级】1091 Acute Stroke (30 分)(BFS)

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 int n,m,l,t;
     4 int a[1307][137][67];
     5 int vis[1307][137][67];
     6 typedef struct{
     7     int x,y,z;
     8 }node;
     9 int xx[6]={0,0,0,0,1,-1};
    10 int yy[6]={0,0,1,-1,0,0};
    11 int zz[6]={1,-1,0,0,0,0};
    12 node p;
    13 int bfs(int x,int y,int z){
    14     queue<node>q;
    15     vis[x][y][z]=1;
    16     p.x=x;
    17     p.y=y;
    18     p.z=z;
    19     q.push(p);
    20     int sum=0;
    21     while(!q.empty()){
    22         node tmp=q.front();
    23         q.pop();
    24         sum++;
    25         for(int i=0;i<6;++i){
    26             int tx=tmp.x+xx[i];
    27             int ty=tmp.y+yy[i];
    28             int tz=tmp.z+zz[i];
    29             if(tx>0&&tx<=n&&ty>0&&ty<=m&&tz>0&&tz<=l&&a[tx][ty][tz]&&!vis[tx][ty][tz]){
    30                 p.x=tx;
    31                 p.y=ty;
    32                 p.z=tz;
    33                 q.push(p);
    34                 vis[tx][ty][tz]=1;
    35             }
    36         }
    37     }
    38     if(sum>=t)
    39         return sum;
    40     return 0;
    41 }
    42 int main(){
    43     std::ios::sync_with_stdio(false);
    44     cin>>n>>m>>l>>t;
    45     for(int i=1;i<=l;++i)
    46         for(int j=1;j<=n;++j)
    47             for(int k=1;k<=m;++k)
    48                 cin>>a[j][k][i];
    49     int ans=0;
    50     for(int i=1;i<=l;++i)
    51         for(int j=1;j<=n;++j)
    52             for(int k=1;k<=m;++k)
    53                 if(a[j][k][i]&&!vis[j][k][i])
    54                     ans+=bfs(j,k,i);
    55     cout<<ans;
    56     return 0;
    57 }
    58  
    保持热爱 不懈努力 不试试看怎么知道会失败呢(划掉) 世上无难事 只要肯放弃(划掉)
  • 相关阅读:
    04 SecurityContextHolder与SecurityContext说明
    03 spring security执行流程分析
    02 spring security 自定义用户认证流程
    01 spring security入门篇
    第三周进度
    第二周进度
    一维整数组所有子数组和的最大值
    初入园子,自我介绍
    密码登录源码(jsp+java+数据库)
    第一周总结
  • 原文地址:https://www.cnblogs.com/ldudxy/p/10841620.html
Copyright © 2011-2022 走看看