5 7 腫瘤診斷

2021-07-29 12:13:15 字數 1271 閱讀 5507

在診斷腫瘤疾病時,計算腫瘤體積是很重要的一環。給定病灶掃瞄切片中標註出的疑似腫瘤區域,請你計算腫瘤的體積。

輸入第一行給出4個正整數:mm、n

n、ll、t

t,其中mm和n

n是每張切片的尺寸(即每張切片是乙個m\times nm×

n的畫素矩陣。最大解析度是1286\times 12812

86×1

28);ll

(\le 60≤6

0)是切片的張數;t

t是乙個整數閾值(若疑似腫瘤的連通體體積小於t

t,則該小塊忽略不計)。

最後給出l

l張切片。每張用乙個由0和1組成的m\times nm×

n的矩陣表示,其中1表示疑似腫瘤的畫素,0表示正常畫素。由於切片厚度可以認為是乙個常數,於是我們只要數連通體中1的個數就可以得到體積了。麻煩的是,可能存在多個腫瘤,這時我們只統計那些體積不小於t

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
額,原來l指的是第三維,簡直了,我說怎麼來的6個方向。。。。qaq

三維的話就不能dfs了,遞迴層數太多了,所以可以用bfs來求聯通塊惹。

#include using namespace std;

const int maxn=500+7;

int n,m,l,t;

int tu[1286][128][60];

bool vis[1286][128][60];

int dx[6]= ;

int dy[6]= ;

int dz[6]= ;

struct node

};int cnt;

void bfs(int x,int y,int z)

}printf("%d\n",sum);

return 0;

}

腫瘤診斷(BFS)

在診斷腫瘤疾病時,計算腫瘤體積是很重要的一環。給定病灶掃瞄切片中標註出的疑似腫瘤區域,請你計算腫瘤的體積。輸入格式 輸入第一行給出4個正整數 m n l t,其中m和n是每張切片的尺寸 即每張切片是乙個m n的畫素矩陣。最大解析度是1286 128 l 60 是切片的張數 t是乙個整數閾值 若疑似腫...

L3 004 腫瘤診斷

在診斷腫瘤疾病時,計算腫瘤體積是很重要的一環。給定病灶掃瞄切片中標註出的疑似腫瘤區域,請你計算腫瘤的體積。輸入格式 輸入第一行給出4個正整數 m n l t,其中m和n是每張切片的尺寸 即每張切片是乙個m n的畫素矩陣。最大解析度是1286 128 l 60 是切片的張數 t是乙個整數閾值 若疑似腫...

L3 004 腫瘤診斷

在診斷腫瘤疾病時,計算腫瘤體積是很重要的一環。給定病灶掃瞄切片中標註出的疑似腫瘤區域,請你計算腫瘤的體積。輸入格式 輸入第一行給出4個正整數 m n l t,其中m和n是每張切片的尺寸 即每張切片是乙個m n的畫素矩陣。最大解析度是1286 128 l 60 是切片的張數 t是乙個整數閾值 若疑似腫...