在哪個網站有兼職做免費發(fā)布推廣信息的b2b
輸入一個 n
行 m
列的整數矩陣,再輸入 q
個詢問,每個詢問包含四個整數 x1,y1,x2,y2
,表示一個子矩陣的左上角坐標和右下角坐標。
對于每個詢問輸出子矩陣中所有數的和。
輸入格式
第一行包含三個整數 n,m,q
。
接下來 n
行,每行包含 m
個整數,表示整數矩陣。
接下來 q
行,每行包含四個整數 x1,y1,x2,y2
,表示一組詢問。
輸出格式
共 q
行,每行輸出一個詢問的結果。
數據范圍
1≤n,m≤1000
,
1≤q≤200000
,
1≤x1≤x2≤n
,
1≤y1≤y2≤m
,
?1000≤矩陣內元素的值≤1000
輸入樣例:
3 4 3
1 7 2 4
3 6 2 8
2 1 2 3
1 1 2 2
2 1 3 4
1 3 3 4
輸出樣例:
17
27
21
#include <iostream>using namespace std;const int N = 1010;int n, m, q;
int a[N][N], s[N][N];int main ()
{scanf("%d%d%d", &n, &m, &q);for(int i = 1; i <= n; i ++ )for(int j = 1; j <= m; j ++ )scanf("%d", &a[i][j]);for(int i = 1; i <= n; i ++ )for(int j = 1; j <= m; j ++ )s[i][j] = a[i][j] + s[i - 1][j] + s[i][j - 1] - s[i - 1][j - 1];while(q -- ){int x1, y1, x2, y2;scanf("%d%d%d%d", &x1, &y1, &x2, &y2);printf("%d\n", s[x2][y2] - s[x2][y1 - 1] - s[x1 - 1][y2] + s[x1 - 1][y1 - 1]);}return 0;
}