917. 差分矩阵
时间限制:1000 MS 内存限制:128 MB
题目描述
# 差分矩阵 ## 题目描述 给定一个 $n$ 行 $m$ 列的整数矩阵,行和列的编号均从 $1$ 开始。 接下来进行 $q$ 次操作,每次操作给出五个整数 $x_1,y_1,x_2,y_2,c$。其中,$(x_1,y_1)$ 和 $(x_2,y_2)$ 分别表示所选子矩阵的左上角和右下角坐标。该操作将所有满足 $x_1\le i\le x_2$ 且 $y_1\le j\le y_2$ 的矩阵元素加上 $c$。 请输出完成全部操作后的矩阵。 ## 输入格式 从文件 `matrixdiff.in` 中读入数据。 第一行包含三个整数 $n,m,q$,分别表示矩阵的行数、列数和操作次数。 接下来 $n$ 行,每行包含 $m$ 个整数,表示初始矩阵。 接下来 $q$ 行,每行包含五个整数 $x_1,y_1,x_2,y_2,c$,表示一次操作。 ## 输出格式 将结果输出到文件 `matrixdiff.out` 中。 输出 $n$ 行,每行包含 $m$ 个整数,表示完成全部操作后的矩阵。同一行中相邻整数之间用一个空格分隔。 ## 数据范围 - $1\le n,m\le 500$。 - $1\le q\le 1000$。 - $1\le x_1\le x_2\le n$。 - $1\le y_1\le y_2\le m$。 - $-1000\le c\le 1000$。 - 初始矩阵中每个元素的值均在 $[-1000,1000]$ 内。 - 最终矩阵中每个元素的值均在 $[-1001000,1001000]$ 内。 ## 样例输入 ``` 3 4 3 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 ``` ## 样例输出 ``` 2 3 4 1 4 3 4 1 2 2 2 2 ```