演算法:dp
分析:跟平面的類似,是在先確定兩個軸的情況下再確定另乙個軸,最後確定完第三個軸也就是最後乙個軸之後,再轉化成一道求一串數的連續最大。
#include#include#includeusing namespace std;
#define min -10000;
int m,n,p;
int ***temp; //全域性變數。
int maxsum(int x,int *a)//確定最後乙個軸。把與p類似的座標存了下來。三維是立體的,二維是平面的,一維是直線的,最後把立體問題轉化為了直線問題。跟求連續數的和一樣,是用來更新的。
return sum;
}
int maxsum2(int x,int y,int **a)//確定第二個軸。把與n類似的座標存了下來。
}
return sum;
}
int maxsum3(int x,int y,int z,int ***a)//確定第乙個軸。把與m類似的座標存了下來。
}
return sum;
} int main()
//動態分配三維陣列.
for(int i=1;i<=m;i++)
for(int j=1;j<=n;j++)
for(int k=1;k<=p;k++)
file >> temp[i][j][k];
file.close();
result=maxsum3(m,n,p,temp);
cout<
最大長方體問題
描述 乙個長,寬,高分別是m,n,p的長方體被分割成m n p個小立方體。每個小立方體內含乙個整數。試著設計乙個演算法,計算所給長方體的最大子長方體。子長方體的大小由它內部所含所有整數之和確定。約定 當該長方體所有元素均為負數時,輸出最大子長方體為0。輸入格式 第一行3個正整數m,n,p,其中 1 ...
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想知道紅色小正方體的數量和藍色小正...