#include<bits/stdc++.h> using namespace std; int n, m, k; int a[1005][1005], b[1005][1005]; int main() { // 读取输入数据 scanf("%d %d %d", &n, &m, &k); // 构建前缀和数组 for(int i = 1; i <= n; i++) { for(int j = 1; j <= m; j++) { scanf("%d", &a[i][j]); b[i][j] = b[i-1][j] + b[i][j-1] - b[i-1][j-1] + a[i][j]; } } // 处理查询 for(int q = 0; q < k; q++) { int x1, y1, x2, y2; scanf("%d %d %d %d", &x1, &y1, &x2, &y2); printf("%d\n", b[x2][y2] - b[x2][y1-1] - b[x1-1][y2] + b[x1-1][y1-1]); } return 0; } /************************************************************** Problem: 2061 User: caizhihao Language: C++ Result: Accepted Time:535 ms Memory:9968 kb ****************************************************************/