#10164. 二维差分数组模版

内存限制:256 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: chbn

题目描述

给定一个 n m 列的整数矩阵,要求:

  1. 输入 p 个操作,每个操作包含五个整数 x1,y1,x2,y2,c ,其中 (x1,y1) (x2,y2) 表示一个子矩阵的左上角坐标和右下角坐标,每个操作都要将选中的子矩阵中的每个元素的值加上 c

  2. 请你将进行完所有操作后的矩阵输出。

  3. 然后是个 q 查询操作,每个操作包含四个整数 x1,y1,x2,y2 ,其中 (x1,y1) (x2,y2) 表示一个子矩阵的左上角坐标和右下角坐标,请给出该子矩阵中所有元素的和。

输入格式

第一行包含整数 n,m,p,q

接下来 n 行,每行包含 m 个整数,表示整数矩阵。

接下来 p 行,每行包含 5 个整数 x1,y1,x2,y2,c ,表示一个操作。

接下来 q 行,每行包含 4 个整数 x1,y1,x2,y2 ,表示一个查询操作。

输出格式

n+q 行,前n行每行 m 个整数,表示所有操作进行完毕后的最终矩阵。 后 q 行每行每行 1 个整数,表示对应查询操作的结果

样例

3 4 3 2
1 2 2 1
3 2 2 1
1 1 1 1
1 1 2 2 1
1 3 2 3 2
3 1 3 4 1
1 1 2 2
2 2 3 4

2 3 4 1
4 3 4 1
2 2 2 2
12
14

数据范围与提示

1≤n,m≤1200, \\ 1≤p,q≤100000, \\ 1≤x1≤x2≤n, \\ 1≤y1≤y2≤m, \\ −1000≤c≤1000, \\ −1000≤矩阵内元素的值≤1000