子矩阵加
课程自编 · 二维差分
题目描述
有一个 n 行 m 列的矩阵,初始时所有元素都是 0。执行 q 次操作,每次操作给出 x1,y1,x2,y2,c,表示把左上角 (x1,y1)、右下角 (x2,y2) 的子矩阵内所有元素都加上 c。输出全部操作结束后的矩阵。
输入格式
第一行三个整数 n,m,q。接下来 q 行,每行五个整数 x1,y1,x2,y2,c。
输出格式
输出 n 行,每行 m 个整数,相邻两个整数之间用一个空格分隔。
数据范围与约定
1≤n,m≤1000,1≤q≤2×105,∣c∣≤109,1≤x1≤x2≤n,1≤y1≤y2≤m。
样例输入
2 3 2
1 1 2 2 5
2 2 2 3 -2
样例输出
5 5 0
5 3 -2
样例说明
第一个操作把左上角 2×2 加 5,矩阵变为 5,5,0 与 5,5,0;第二个操作把右下角 2×2 减 2,最终为 5,5,0 与 5,3,−2。
说明
课程自编题,数据由 src/gen.py 生成。