#include <iostream> #include <vector> using namespace std; int main() { int n, m, q; cin >> n >> m >> q; // 定义原始矩阵和二维前缀和矩阵(多开一行一列,便于处理边界) vector<vector<long long>> a(n + 1, vector<long long>(m + 1)); vector<vector<long long>> sum(n + 1, vector<long long>(m + 1)); // 输入原始矩阵(注意从 1 开始) for (int i = 1; i <= n; ++i) for (int j = 1; j <= m; ++j) cin >> a[i][j]; // 构建前缀和 for (int i = 1; i <= n; ++i) for (int j = 1; j <= m; ++j) sum[i][j] = sum[i - 1][j] + sum[i][j - 1] - sum[i - 1][j - 1] + a[i][j]; // 每次查询使用前缀和计算 while (q--) { int x1, y1, x2, y2; cin >> x1 >> y1 >> x2 >> y2; long long ans = sum[x2][y2] - sum[x1 - 1][y2] - sum[x2][y1 - 1] + sum[x1 - 1][y1 - 1]; cout << ans << '\n'; } return 0; }