以前的时候感觉这种题是简单的题型,不过好长时间不做了,有点陌生了。
这个题就是简单的三维的bfs,dfs应该也是一种解题思路。
反正思路很简单就对了。。。就是暴力搜索,判断一下边界。

在诊断肿瘤疾病时,计算肿瘤体积是很重要的一环。给定病灶扫描切片中标注出的疑似肿瘤区域,请你计算肿瘤的体积。

输入格式:
输入第一行给出4个正整数:M、N、L、T,其中M和N是每张切片的尺寸(即每张切片是一个M×N的像素矩阵。最大分辨率是1286×128);L(≤60)是切片的张数;T是一个整数阈值(若疑似肿瘤的连通体体积小于T,则该小块忽略不计)。

最后给出L张切片。每张用一个由0和1组成的M×N的矩阵表示,其中1表示疑似肿瘤的像素,0表示正常像素。由于切片厚度可以认为是一个常数,于是我们只要数连通体中1的个数就可以得到体积了。麻烦的是,可能存在多个肿瘤,这时我们只统计那些体积不小于T的。两个像素被认为是“连通的”,如果它们有一个共同的切面,如下图所示,所有6个红色的像素都与蓝色的像素连通。

输出格式:
在一行中输出肿瘤的总体积。

输入样例:
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

#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <string>
#include <algorithm>
#include <map>
#include <stack>
#include <queue>
#include <cmath>
#include <map>
#include <set>
using namespace std;
struct node
{int z;int x;int y;
};
int dz[] = {1,-1,0,0,0,0};
int dx[] = {0,0,1,-1,0,0};
int dy[] = {0,0,0,0,1,-1};
int m,n,l,t;
int a[65][1300][130];
int vis[65][1300][130];
bool judge(int z,int x,int y)
{if(z<1||x<1||y<1||z>l||x>m||y>n||vis[z][x][y]||!a[z][x][y])return false;return true;
}
int bfs(int z,int x,int y)
{int num = 0;queue<struct node>q;q.push({z,x,y});vis[z][x][y] = 1;num++;while(!q.empty()){struct node point = q.front();q.pop();for(int i=0; i<6; i++){z = point.z+dz[i];x = point.x+dx[i];y = point.y+dy[i];if(judge(z,x,y)){vis[z][x][y] = 1;num++;q.push({z,x,y});}}}return num>=t?num:0;
}
int main()
{scanf("%d%d%d%d",&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++)scanf("%d",&a[i][j][k]);int sum = 0;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]&&!vis[i][j][k])sum += bfs(i,j,k);printf("%d\n",sum);return 0;
}

7-13 肿瘤诊断 (30 分)相关推荐

  1. 7-58 肿瘤诊断 (30 分)

    7-58 肿瘤诊断 (30 分) 在诊断肿瘤疾病时,计算肿瘤体积是很重要的一环.给定病灶扫描切片中标注出的疑似肿瘤区域,请你计算肿瘤的体积. 输入格式: 输入第一行给出4个正整数:M.N.L.T,其中 ...

  2. 【CCCC】L3-004 肿瘤诊断 (30分),三维BFS

    problem L3-004 肿瘤诊断 (30分) 在诊断肿瘤疾病时,计算肿瘤体积是很重要的一环.给定病灶扫描切片中标注出的疑似肿瘤区域,请你计算肿瘤的体积. 输入格式: 输入第一行给出4个正整数:M ...

  3. 3分和30分文章差距在哪里?

    好的分析和可视化,可以提供大量的信息,同时兼顾简洁优雅. 今天我们抛开实验设计.方法和工作量等因素,仅从文章最吸引人的图片来讨论3分和30分(顶级)文章差距在哪里? 以2017年8月25日发表在Sci ...

  4. 微生物组:3分和30分文章差距在哪里?

    好的分析和可视化,可以提供大量的信息,同时兼顾简洁优雅. 今天我们抛开实验设计.方法和工作量等因素,仅从文章最吸引人的图片来讨论3分和30分(顶级)文章差距在哪里? 以2017年8月25日发表在Sci ...

  5. PAT甲级1053 Path of Equal Weight (30分) :[C++题解]dfs求树的路径长度、邻接表

    文章目录 题目分析 题目链接 题目分析 输入样例: 20 9 24 10 2 4 3 5 10 2 18 9 7 2 2 1 3 12 1 8 6 2 2 00 4 01 02 03 04 02 1 ...

  6. CCF201503-5 最小花费(30分)

    试题编号: 201503-5 试题名称: 最小花费 时间限制: 4.0s 内存限制: 256.0MB 问题描述: 问题描述 C国共有n个城市.有n-1条双向道路,每条道路连接两个城市,任意两个城市之间 ...

  7. 【CCCC】L3-014 周游世界 (30分),,DFS搜索最短路,路径打印

    problem L3-014 周游世界 (30分) 周游世界是件浪漫事,但规划旅行路线就不一定了-- 全世界有成千上万条航线.铁路线.大巴线,令人眼花缭乱.所以旅行社会选择部分运输公司组成联盟,每家公 ...

  8. 为何把2点半比作是神奇的2点半? 为什么炒股的人叫14:30分,叫神奇的2点

    为何把14:30分称作神奇的2点半? 为什么炒股的人叫14:30分,叫神奇的2点半?这个得从头开始说起! 第一个是早盘:9:30-9:50,请一般散户不要参与!这是主力展示盘口语言的时间段,自认为水平 ...

  9. PTA:7-102 喊山 (30分)---解析(bfs广度优先搜索,vector)

    7-102 喊山 (30分) 喊山,是人双手围在嘴边成喇叭状,对着远方高山发出"喂-喂喂-喂喂喂--"的呼唤.呼唤声通过空气的传递,回荡于深谷之间,传送到人们耳中,发出约定俗成的& ...

  10. PAT (Advanced Level) Practice 1053 Path of Equal Weight (30 分)

    1053 Path of Equal Weight (30 分) Given a non-empty tree with root R, and with weight Wi assigned to ...

最新文章

  1. 深入理解CUDA线程层次以及关于设置线程数的思考
  2. Vue语法学习第一课——插值
  3. 教你如何打开android4.3和4.4中隐藏的AppOps
  4. ListView的Item点击事件(消息传递)
  5. 如何编程实现iAMT无线功能的禁用和开启
  6. bootstrap弹出框居中
  7. Operations Manager 2007 R2 Beta可下载试用
  8. php ckeditor图片上传
  9. 地方时太阳时html源码,地方时、区时和世界时
  10. C语言猜数字游戏的设计
  11. 基于Java的网络教学系统
  12. 2020数学建模国赛A题思路与代码(全)
  13. 关于Cascading
  14. 什么是大数据?零基础如何学习大数据?(附学习路线)
  15. C++Programming Guidelines
  16. Win10 用户管理中无法删除唯一的administrators组用户
  17. JAVA,实现视频压缩(最全)
  18. Hi3798 openSSH的移植
  19. 记录一次最坑的微信会员卡 跳转型开发时的bug errcode72011
  20. MATLAB2016b遗传算法工具箱安装

热门文章

  1. python如何输入三引号_python三引号如何输入
  2. 使用 Mybatis——Plus 分页查询
  3. Handler内存泄漏问题解决方案(Android,第一行代码,This Handler class should be static or leaks might occur)
  4. strtok()和strtok_s()
  5. 比较完整的NAT(网络地址转换)配置
  6. Duan2baka的AC自动机模板!
  7. 拼音工具(pinyin4j)
  8. 1151服务器芯片组,芯片组比CPU先到 华擎发布1151接口主板
  9. 为什么项目管理很努力却得不到相应的回报呢?谈谈项目管理软能力实践与心得
  10. mysql的pdb文件在哪里_PDB文件扩展名_PDB是什么格式_PDB文件怎么打开-文件百科