#P4997. 子矩阵加

子矩阵加

子矩阵加

课程自编 · 二维差分

题目描述

有一个 nn 行 mm 列的矩阵,初始时所有元素都是 00。执行 qq 次操作,每次操作给出 x1,y1,x2,y2,cx_1,y_1,x_2,y_2,c,表示把左上角 (x1,y1)(x_1,y_1)、右下角 (x2,y2)(x_2,y_2) 的子矩阵内所有元素都加上 cc。输出全部操作结束后的矩阵。

输入格式

第一行三个整数 n,m,qn,m,q。接下来 qq 行,每行五个整数 x1,y1,x2,y2,cx_1,y_1,x_2,y_2,c。

输出格式

输出 nn 行,每行 mm 个整数,相邻两个整数之间用一个空格分隔。

数据范围与约定

1≤n,m≤10001 \le n,m \le 1000,1≤q≤2×1051 \le q \le 2\times 10^5,∣c∣≤109|c| \le 10^9,1≤x1≤x2≤n1 \le x_1 \le x_2 \le n,1≤y1≤y2≤m1 \le y_1 \le y_2 \le m。

样例输入

2 3 2
1 1 2 2 5
2 2 2 3 -2

样例输出

5 5 0
5 3 -2

样例说明

第一个操作把左上角 2×22\times2 加 55,矩阵变为 5,5,05,5,0 与 5,5,05,5,0;第二个操作把右下角 2×22\times2 减 22,最终为 5,5,05,5,0 与 5,3,−25,3,-2。

说明

课程自编题,数据由 src/gen.py 生成。