首页 > 其他分享 >天梯赛练习题 L3-004 肿瘤诊断(bfs)

天梯赛练习题 L3-004 肿瘤诊断(bfs)

时间:2023-04-10 20:45:42浏览次数:49  
标签:练习题 const nn int LL bfs L3 &&

https://pintia.cn/problem-sets/994805046380707840/exam/problems/994805052626026496

输入样例:
3 4 5 2
1 1 1 1
1 1 1 1
1 1 1 1
0 0 1 1
0 0 1 1
0 0 1 1
1 0 1 1
0 1 0 0
0 0 0 0
1 0 1 1
0 0 0 0
0 0 0 0
0 0 0 1
0 0 0 1
1 0 0 0
输出样例:
26

LL dz[]={1,-1,0,0,0,0},dx[]={0,0,1,-1,0,0},dy[]={0,0,0,0,1,-1};

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef pair<LL,LL> PII;
const LL MAXN=1e18,MINN=-MAXN,INF=0x3f3f3f3f;
const LL N=1e6+10,M=2023;
const LL mod=100000007;
const double PI=3.1415926535;
#define endl '\n'
LL m,n,l,t;
LL a[65][1500][150];
struct Point
{
    int x,y,z;
};
LL sum=0,ans=0;
LL dz[]={1,-1,0,0,0,0},dx[]={0,0,1,-1,0,0},dy[]={0,0,0,0,1,-1};
int bfs(LL ll,LL mm,LL nn)
{
    queue<Point> q;
    q.push({ll,mm,nn});
    a[ll][mm][nn]=0;
    sum++;
    while(q.size())
    {
        auto t=q.front();
        q.pop();
        for(LL i=0;i<6;i++)
        {
            LL zz=dz[i]+t.x,xx=dx[i]+t.y,yy=dy[i]+t.z;
            if(zz>=1&&zz<=l&&xx>=1&&xx<=m&&yy>=1&&yy<=n&&a[zz][xx][yy]==1)
            {
                q.push({zz,xx,yy});
                a[zz][xx][yy]=0;
                sum++;
            }
        }
    }
    return sum;
}
int main()
{
    cin.tie(0); cout.tie(0); ios::sync_with_stdio(false);
    LL T=1;
    //cin>>T;
    while(T--)
    {
        cin>>m>>n>>l>>t;
        for(int i=1;i<=l;i++)
        {
            for(int j=1;j<=m;j++)
            {
                for(int k=1;k<=n;k++)
                {
                    cin>>a[i][j][k];
                }
            }
        }
        for(int i=1;i<=l;i++)
        {
            for(int j=1;j<=m;j++)
            {
                for(int k=1;k<=n;k++)
                {
                    if(a[i][j][k]==1)
                    {
                        sum=0;
                        bfs(i,j,k);
                        if(sum>=t) ans+=sum;
                    }
                }
            }
        }
        cout<<ans<<endl;
    }
    return 0;
}

标签:练习题,const,nn,int,LL,bfs,L3,&&
From: https://www.cnblogs.com/Vivian-0918/p/17304243.html

相关文章

  • spfa求最短路——BFS,数组实现邻接表,数组实现队列
    题目描述题目来源AcWing给定一个n个点m条边的有向图,图中可能存在重边和自环,边权可能为负数。请你求出1号点到n号点的最短距离,如果无法从1号点走到n号点,则输出impossible。数据保证不存在负权回路。输入格式第一行包含整数n和m。接下来m行每行包含三个......
  • L3-017 森森快递(天梯赛)
    https://pintia.cn/problem-sets/994805046380707840/exam/problems/994805047638999040大意是在一条直线上,有N个从0..N-1编号的城市,每个城市之间的道路有最大负载ai,现在有M张从i城到j城的运货订单,假设每个城市的货物无限,问在某一时刻,如何安排订单的运输,能使得运输的货物重......
  • CSAPP练习题2.11
    练习题2.111/*2CSAPP练习题2.11,并做了一些扩展3指定或者用户输入一个数组(100以内),打印反转前后的所有数组元素4*/5#include<stdio.h>67voidinplace_swap(int*x,int*y);//互换值8voidreverse_array(inta[],intcnt);//数组反转9voi......
  • java -- 练习题
    第一题1.定义一个Person类,要求有姓名和年龄,并且符合JavaBean标准,定义Student类继承Person,定义测试类,创建Student对象,要求创建Student对象的同时,指定Student对象的姓名为"张三",只能指定姓名不许指定年龄classPerson{privateStringname;privateintage;......
  • Leetcode(剑指offer专项训练)——DFS/BFS专项(2)
    课程顺序题目现在总共有numCourses 门课需要选,记为 0 到 numCourses-1。给定一个数组 prerequisites,它的每一个元素 prerequisites[i] 表示两门课程之间的先修顺序。 例如 prerequisites[i]=[ai,bi] 表示想要学习课程ai ,需要先完成课程bi 。请根据给出的......
  • mysql 查询练习题
    1.查出至少有一个员工的部门。显示部门编号、部门名称、部门位置、部门人数。selectd.deptno,d.dname,d.loc,r.countfromdeptd,(selectdeptno,count(*)countfromempgroupbydeptno)rwhered.deptno=r.deptno;2.列出薪金比smith高的所有员工。select*fro......
  • Leetcode(剑指offer专项训练)——DFS/BFS专项(1)
    计算除法题目给定一个变量对数组equations和一个实数值数组values作为已知条件,其中equations[i]=[Ai,Bi]和values[i]共同表示等式Ai/Bi=values[i]。每个Ai或Bi是一个表示单个变量的字符串。另有一些以数组queries表示的问题,其中queries[j]=[Cj,Dj]......
  • 结对编程——四则运算练习题
    结对编程题目如下:小学老师要每周给同学出300道四则运算练习题。这个程序有很多种实现方式:C/C++C#/VB.net/JavaExcelUnixShellEmacs/Powershell/VbscriptPerlPython一个或两个运算符(a+b或a+b+c),100以内的数字,不需要写答案。需要检查答案是否正确,并且保证答案在0......
  • [2020CCCC天梯赛] L3-1 那就别担心了(30分)
    [2020CCCC天梯赛]L3-1那就别担心了(30分)下图转自“英式没品笑话百科”的新浪微博——所以无论有没有遇到难题,其实都不用担心。博主将这种逻辑推演称为“逻辑自洽”,即从某个命题出发的所有推理路径都会将结论引导到同一个最终命题(开玩笑的,千万别以为这是真正的逻辑自洽的定义......
  • [2021CCCC天梯赛] L3-1 森森旅游(30分)
    [2021CCCC天梯赛]L3-1森森旅游(30分)题目描述好久没出去旅游啦!森森决定去Z省旅游一下。Z省有n座城市(从1到n编号)以及m条连接两座城市的有向旅行线路(例如自驾、长途汽车、火车、飞机、轮船等),每次经过一条旅行线路时都需要支付该线路的费用(但这个收费标准可能不止一种,......