最大子陣 C

2021-08-25 19:23:32 字數 579 閱讀 7368

problem description

給定乙個 n×m 的矩陣a,求 a 中的乙個非空子矩陣,使這個子矩陣中的元素和最大。其中,a 的子矩陣指在 a 中行和列均連續的一部分。

輸入的第一行包含兩個整數 n,m(1≤n,m≤50),分別表示矩陣 a 的行數和列數。接下來 n 行,每行 m 個整數,表示矩陣 a ​i,j​​(−1000≤a​i,j​​≤1000)。

輸出一行,包含乙個整數,表示 aa 中最大的子矩陣中的元素和。

樣例輸入

sample input

3 3

2 -4 1

-1 2 1

4 -2 2

sample output

6
#include #include int main()

{ int a[51][51],ans,sum,i,ti,tj,ii,jj,j,n,m;

ans=-1000000;

scanf("%d %d",&n,&m);

for(i=0; i這是個暴力列舉哈,我也沒交題測試,挺暴力的,不知道會不會超時

矩陣最大子陣

樣例輸入 332 41 1214 22 樣例輸出 6 1,暴力列舉,直接卡主上下左右邊界 include using namespace std int a 55 55 intmain 前四層迴圈卡住矩陣上下左右,後兩個遍歷求和 for int i 1 i n i if t ans ans t co...

最大子陣和

解題思路 首先,考慮一維的情況。a1,a2,a3,an的最大子串行和。我們維護乙個 最大字首和 當這個字首和小於0的時候,就替換為當前值,那麼最大值一定在這些字首和中。然後對於二維的情況,我們列舉可能的起始列標,這樣就是一維的最大子串行和的問題了。例如,當我們選定第一列和第三列後,把每一行第一列到第...

歷屆試題 最大子陣

問題描述 給定乙個n m的矩陣a,求a中的乙個非空子矩陣,使這個子矩陣中的元素和最大。其中,a的子矩陣指在a中行和列均連續的一塊。輸入格式 輸入的第一行包含兩個整數n,m,分別表示矩陣a的行數和列數。接下來n行,每行m個整數,表示矩陣a。輸出格式 輸出一行,包含乙個整數,表示a中最大的子矩陣中的元素...