給出乙個m * n的矩陣a,矩陣元素ai,j小於1000,進行q次查詢,每次查詢給出子矩陣的4個邊界(上下左右),求該子矩陣所有元素之和。
樣例中第乙個查詢:1 3 1 2 表示從第1行到第3行,從第1列到第2列,對應的子矩陣是:
1 25 6
9 10
求和等於33
第一行2個整數n, m,中間用空格分割,分別對應陣列的行數n、列數m(1 <= m,n <= 100) 接下來n行,每行m個整數表示矩陣的內容ai,j 。(0 <= ai,j <= 1000) 接下來1行,乙個數q,對應查詢的數量。(1 <= q <= 1000) 接下來q行,每行4個整數,對應矩陣的上下左右邊界u,d,l,r。(1 <= u <= d <= n, 1 <= l <= r <= m)
輸出共q行,對應q個詢問的求和結果。
3 41 2 3 4
5 6 7 8
9 10 11 12
31 3 1 2
1 2 1 3
1 3 1 3
3324
54初始化
for
(int i=
1;i<=n;i++
)for
(int j=
1;j<=m;j++
)
計算子矩陣所有數的和
cout<[y2]
-s[x2]
[y1-1]
-s[x1-1]
[y2]
+s[x1-1]
[y1-1]
<
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
intmain()
} cin>>q;
while
(q--
)return0;
}
給定乙個矩陣,求和最大的子矩陣
題目 輸入n,代表方形矩陣的維度,然後輸入n 2個整數。請輸出和最大的子矩陣的和。要點 利用了最大連續子串和的思路,實際上也是動態規劃的題目。這裡再強調一下,對於動態規劃的題目,我們經常會使用到 1下標,這樣會使得程式設計很方便。如何能夠正常的使用 1下標呢?見 include using name...
子陣列求和
乙個面試題,哎 題目 連續子陣列求和 給定乙個整數陣列,請找出所有的連續子陣列,計算所有的子陣列的和,輸出子陣列和相加的結果。例如 陣列 1,3,7 有7個子陣列 1 3 7 1,3 3,7 1,3,7 子陣列相加後的結果是36 1 3 7 1,3 3,7 1,3,7 0 1 3 7 4 10 11...
十六 矩陣數字求和
問題 矩陣數字求和 題目描述 給定乙個數字矩陣,數字中間用空格分開。求 行,列,45 斜線 不一定是對角線 中,和最大的是多少 輸出 這個最大的和.比如矩陣 9 8 2 2 2 4 1 5 1 5 1 2 1 15 6 3 2 1 56 3 中,和最大的是 1 15 56 這個斜線。需要輸出 72 ...