最大長方體問題

2021-09-01 09:29:43 字數 836 閱讀 2304

描述

乙個長,寬,高分別是m,n,p的長方體被分割成m*n*p個小立方體。每個小立方體內含乙個整數。試著設計乙個演算法,計算所給長方體的最大子長方體。子長方體的大小由它內部所含所有整數之和確定。 約定:當該長方體所有元素均為負數時,輸出最大子長方體為0。

輸入格式

第一行3個正整數m,n,p,其中 1<=m,n,p<=50 接下來的m*n行中每行p個整數,表示小立方體中的數。

輸出格式

第一行中的數是計算出的最大子長方體的大小。

輸入樣例

3 3 3 0 -1 2 1 2 2 1 1 -2 -2 -1 -1 -3 3 -2 -2 -3 1 -2 3 3 0 1 3 2 1 -3

輸出樣例

14思路:

1,先編寫一維的「最大欄位和」的解法。

2,基於「最大欄位和」,編寫二維的「最大子矩陣和」的解法。

3,基於「最大子矩陣和」,編寫三維的「最大子長方體和」的解法。

#include#include#includeusing namespace std;

int t[3][3][3];

int max1(int *a, int n)

return sum;

}int max2(int m,int n,int**a)

}return max;

}int max3(int m,int n,int p,int a[3][3][3])

}return max;

}int main()

} }printf("%d",max3(3,3,3,t));

return 0;

}

最大長方體問題(cube)

演算法 dp 分析 跟平面的類似,是在先確定兩個軸的情況下再確定另乙個軸,最後確定完第三個軸也就是最後乙個軸之後,再轉化成一道求一串數的連續最大。include include includeusing namespace std define min 10000 int m,n,p int tem...

SCAU OJ題 8601 最大長方體問題

時間限制 1000ms 記憶體限制 1000k 提交次數 0 通過次數 0 語言 not limited 描述乙個長,寬,高分別是m,n,p的長方體被分割成mnp個小立方體。每個小立方體內含乙個整數。試著設計乙個演算法,計算所給長方體的最大子長方體。子長方體的大小由它內部所含所有整數之和確定。約定 ...

簽到題 長方體問題

tt有乙個a b c的長方體。這個長方體是由a b c個1 1 1的小正方體組成的。現在tt想給每個小正方體塗上顏色。需要滿以下三點條件 1 每個小正方體要麼塗成紅色,要麼塗成藍色。2 所有紅色的小正方體組成乙個長方體。3 所有藍色的小正方體組成乙個長方體。現在tt想知道紅色小正方體的數量和藍色小正...