L3-004. 肿瘤诊断的答案和注视

2023-10-19 06:40
文章标签 答案 诊断 004 肿瘤 l3 注视

本文主要是介绍L3-004. 肿瘤诊断的答案和注视,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

输入格式:

输入第一行给出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个红色的像素都与蓝色的像素连通。


Figure 1

输出格式:

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

输入样例:

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<queue>
#include<vector>
using namespace std;
struct ww
{
int q,w,e;
};
int aq[6]={0,0,0,0,1,-1};//这三个是遍历时用的数组
int aw[6]={1,0,-1,0,0,0};
int ae[6]={0,1,0,-1,0,0};
class qq
{
private:
vector<vector<vector<int> > > a;//这个是储存数据的三维矩阵
int t;


public:
qq(int m,int n,int l,int tt):a(l,vector<vector<int> >(m,vector<int>(n)))//给三维矩阵申请空间 长宽高是按分别是m,n,l
{
t=tt;

int i,j,k;

for(i=0;i<l;i++)
{
for(j=0;j<m;j++)
{
for(k=0;k<n;k++)
{
cin>>a[i][j][k];//输入三维矩阵
}
}
}
}

int bfs(int m,int n,int l)//这里就是激情四射的遍历环节了,其实和二维的差别也是不很大 就是弄一个队列存一下遍历过的 节点的位置
{
int s=0;
queue<ww> b;
ww z;
z.q=m;z.w=n;z.e=l;
b.push(z);
a[m][n][l]=0;
while(!b.empty())
{
s++;
z=b.front();

b.pop();
for(int i=0;i<6;i++)
{
int cq=z.q+aq[i];
int cw=z.w+aw[i];
int ce=z.e+ae[i];
if(cq>=0&&cw>=0&&ce>=0&&cq<a.size()&&cw<a[0].size()&&ce<a[0][0].size()&&a[cq][cw][ce]==1)
{

ww x;
x.q=cq;
x.w=cw;
x.e=ce;
a[cq][cw][ce]=0;
b.push(x);
}
}
}
return s;
}

int find()//这里是 查找肿瘤大小的
{
int sum=0;//肿瘤总共的大小用sum储存


for(int i=0;i<a.size();i++)
{
for(int j=0;j<a[i].size();j++)
{
for(int k=0;k<a[i][j].size();k++)
{
if(a[i][j][k]==1)
{

int l=bfs(i,j,k);//每次查一个


if(l>=t)sum+=l;//把每一个肿瘤大小相加
}
}
}
}

return sum;
}

};

int main()
{
int m,n,l,t;

cin>>m>>n>>l>>t;

qq Q(m,n,l,t);

cout<<Q.find();


return 0;
}

转载于:https://www.cnblogs.com/zengzengzeng/p/8697387.html

这篇关于L3-004. 肿瘤诊断的答案和注视的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/238000

相关文章

poj 3104 二分答案

题意: n件湿度为num的衣服,每秒钟自己可以蒸发掉1个湿度。 然而如果使用了暖炉,每秒可以烧掉k个湿度,但不计算蒸发了。 现在问这么多的衣服,怎么烧事件最短。 解析: 二分答案咯。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <c

JVM 常见异常及内存诊断

栈内存溢出 栈内存大小设置:-Xss size 默认除了window以外的所有操作系统默认情况大小为 1MB,window 的默认大小依赖于虚拟机内存。 栈帧过多导致栈内存溢出 下述示例代码,由于递归深度没有限制且没有设置出口,每次方法的调用都会产生一个栈帧导致了创建的栈帧过多,而导致内存溢出(StackOverflowError)。 示例代码: 运行结果: 栈帧过大导致栈内存

java线程深度解析(一)——java new 接口?匿名内部类给你答案

http://blog.csdn.net/daybreak1209/article/details/51305477 一、内部类 1、内部类初识 一般,一个类里主要包含类的方法和属性,但在Java中还提出在类中继续定义类(内部类)的概念。 内部类的定义:类的内部定义类 先来看一个实例 [html]  view plain copy pu

【附答案】C/C++ 最常见50道面试题

文章目录 面试题 1:深入探讨变量的声明与定义的区别面试题 2:编写比较“零值”的`if`语句面试题 3:深入理解`sizeof`与`strlen`的差异面试题 4:解析C与C++中`static`关键字的不同用途面试题 5:比较C语言的`malloc`与C++的`new`面试题 6:实现一个“标准”的`MIN`宏面试题 7:指针是否可以是`volatile`面试题 8:探讨`a`和`&a`

电子电气架构---私有总线通信和诊断规则

电子电气架构—私有总线通信和诊断规则 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节能减排。 无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事.而不是让内心的烦躁、

DoIP-ISO 13400-1 道路车辆-基于互联网协议的诊断通信(DoIP)-第 1 部分:一般信息和用例定义 (1/2)

如下内容基于2011版本的 ISO 13400开展,内容较多,拆分为2篇,此篇为 1/2。 前言 ISO(国际标准化组织)是一个全球范围内的国际标准机构联合体(ISO 成员机构)。国际标准的制备工作通常通过 ISO 技术委员会进行。每个相关成员机构都有权在已建立的技术委员会中代表其利益。与 ISO 保持联系的国际组织、政府和非政府组织也参与这项工作。ISO 与国际电工委员会(IEC)在所有电气

上海大学《2022年836+915自动控制原理真题及答案》 (完整版)

Part1:2022年上海大学真题题目 学硕836 专硕915 Part2:2022年上海大学真题答案 学硕836 专硕915

问题和答案-内存泄露

1.看看Java内存模型,Java加载机制。平常写代码注意就行了。 2.  该销毁 销毁 该释放 释放 3,     4. 是死循环造成的内存溢出 还是啥没释放 造成 的内存泄露 5. 死循环你内存有多少够开销的? 6.静态的东西多注意就好了 7.生命周期长的类不要持有短周期的引用。 8.         9.

监控平台总结之面试常问答案

思路 延伸的面试题总结及答案: 1.说说前端监控平台/监控SDK架构设计和难点亮点? 架构设计 数据采集层: SDK: 在前端集成的 SDK 负责采集数据,包括性能指标、用户行为、错误日志等。 数据收集: 实现高效的数据采集机制,支持实时数据传输,可能使用 fetch、XHR 或 Beacon 等 API。 数据处理层: 数据传输: 数据通过 HTTP 或 WebSocket 发

004: VTK读入数据---vtkImageData详细说明

VTK医学图像处理---vtkImageData类 目录 VTK医学图像处理---vtkImageData类 简介: 1 Mricro软件的安装和使用 (1) Mricro安装 (2) Mricro转换DICOM为裸数据  2 从硬盘读取数据到vtkImageData 3 vtkImageData转RGB或RGBA格式 4 练习 总结 简介:         对于医