Difficult work | ||||||
|
||||||
Description | ||||||
小D故意难为GiGi兔,给她一个很棘手的work。 先给出一个n*n的方形,每个格子内放入一个数字a(0<=a<=100)。然后算出以(x1, y1), (x2, y2)为对角线的矩形内所有数字的和。 |
||||||
Input | ||||||
输入包含多组测试数据。 第一行包含两个正整数n和m(1= 接下来m行,每行包含四个整数x1, y1, x2, y2。(1<= x1<=x2, y1<= y2 <=n)。 |
||||||
Output | ||||||
每行包括一个数字和。(保证在32位整数内) |
||||||
Sample Input | ||||||
3 3 1 2 3 4 5 6 7 8 9 1 1 2 2 1 1 3 3 2 1 3 3 |
||||||
Sample Output | ||||||
12 45 39 |
#include
using namespace std;
int sum[505][505];
int main()
{
int n, m;
while(cin >> n >> m)
{
memset(sum, 0, sizeof sum);
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= n; j++)
{
cin >> sum[i][j];
sum[i][j] += sum[i - 1][j] + sum[i][j - 1] - sum[i - 1][j - 1];
}
}
for(int k = 0; k < m; k++)
{
int x, y, xx, yy;
cin >> x >> y >> xx >> yy;
cout << sum[xx][yy] + sum[x - 1][y - 1] - sum[x - 1][yy] - sum[xx][y - 1] << endl;
}
}
return 0;
}