《蓝桥杯算法》给定子矩阵的和
文章目录
源代码:
#include <iostream>
using namespace std;
int a[1010][1010];
int sum[1010][1010];
int main()
{
int n , m;
scanf("%d%d" , &n, &m);
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++){
scanf("%d" , &a[i][j]);
}
}
for(int i = 0; i < n; i++){ //这里是错误的, 求二维矩阵的时候一般要从1开始
for(int j = 0; j < m; j++){
sum[i][j] = sum[i-1][j] + sum[i][j-1] - sum[i-1][j-1] +a[i][j];
}
}
int q,x1,y1,x2,y2;
scanf("%d", &q);
while(q--){
scanf("%d%d%d%d", &x1, &y1, &x2, &y2);
printf("%d\n",sum[x2][y2] - sum[x1-1][y2] - sum[x2][y1-1] + sum[x1-1][y1-1]);
}
return 0;
}