-
大小: 951B文件類型: .rar金幣: 1下載: 0 次發(fā)布日期: 2021-01-11
- 標(biāo)簽: 動態(tài)規(guī)劃??C++??n??
資源簡介
一個長、寬、高分別為m,n,p的長方體被分割成m×n×p個小立方體。每個小立方體內(nèi)有一個整數(shù)。試設(shè)計一個算法,計算出所給長方體的最大子長長方體。子長方體的大小由它所含所有整數(shù)之和確定。
算法設(shè)計:對于給定的長、寬、高分別為m,n,p的長方體,計算最大子長方體的大小。
數(shù)據(jù)輸入:由文件input.txt提供輸入數(shù)據(jù)。文件的第一行是3個正整數(shù)m,n,p。1<=m,n,p<=50.在接下來的m×n行中每行p個正整數(shù),表示小立方體中的數(shù)。
結(jié)果輸出:將最大子長方體的大小輸出到output.txt的第1行。
代碼片段和文件信息
#include??
#include
#include
using?namespace?std;
#define?min?-10000;
int?mnp;???
int?***temp;??????//全局變量
int?MaxSum(int?xint?*a)??
{
int?sum=min;int?b=0;
for(int?i=1;i<=x;i++)
{
if(b>0)
????b+=a[i];??
else
b=a[i];
????????if(b>sum)?
????????sum=b;???
}
????return?sum;???
}???
int?MaxSum2(int?xint?yint?**a)???
{???
????int?sum=min;???
????int?*b=new?int[y+1];???
????for(int?i=1;i<=x;i++)???
????{???
????????for(int?k=1;k<=y;k++)?b[k]=0;???
????????for(int?j=i;j<=x;j++)???
????????{???
????????????for(int?k=1;k<=y;k++)?b[k]+=a[j][k];???
????????????int?max=MaxSum(yb);???
????????????if(max>sum)?
sum=max;???
????????}???
????}???
???return?sum;???
}???
???
int?MaxSum3(int?xint?yint?zint?***a)???
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????????2??2011-05-11?12:13??output.txt
?????文件???????2101??2011-05-11?12:11??最大長方體.cpp
?????文件?????????68??2011-05-11?12:13??input.txt
-----------?---------??----------?-----??----
?????????????????2171????????????????????3
評論
共有 條評論