1 条题解
-
0
#include <bits/stdc++.h> using namespace std; int main() { int n,m,q; cin >> n >> m >> q; //接收数组 vector<vector<int>> arr(n+2 , vector<int> (m+2 , 0)); for ( int i = 1; i < n+1; i++ ) { for ( int j = 1; j < m+1; j++ ) { cin >> arr[i][j]; } } //前缀和数组 vector<vector<int>> sums(n+2 , vector<int> (m+2 , 0)); for ( int i = 1; i < n+1; i++ ) { for ( int j = 1; j < m+1; j++ ) { sums[i][j] = arr[i][j] + sums[i][j-1] + sums[i-1][j] - sums[i-1][j-1]; } } //求范围和 for ( int i = 1; i <= q; i++ ) { int x1,y1,x2,y2; cin >> x1 >> y1 >> x2 >> y2; int sum = 0; sum = sums[x2][y2] - sums[x2][y1-1] - sums[x1-1][y2] + sums[x1-1][y1-1]; cout << sum << endl; } return 0; }
信息
- ID
- 144
- 时间
- 2000ms
- 内存
- 256MiB
- 难度
- 9
- 标签
- 递交数
- 11
- 已通过
- 4
- 上传者