import java.util.Scanner;
public class Main {
static final int N = 1010;
static int[][] arr = new int[N][N];
static int[][] brr = new int[N][N];
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt(), m = sc.nextInt(), q = sc.nextInt();
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
arr[i][j] = sc.nextInt();
}
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
insert(i, j, i, j, arr[i][j]);
}
}
while (q--!= 0) {
int x1 = sc.nextInt(), y1 = sc.nextInt(), x2 = sc.nextInt(), y2 = sc.nextInt(),c = sc.nextInt();
insert(x1, y1, x2, y2, c);
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
brr[i][j] += brr[i - 1][j] + brr[i][j - 1] - brr[i - 1][j - 1];
}
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
System.out.print(brr[i][j]+" ");
if (j==m){
System.out.println();
}
}
}
}
public static void insert(int x1, int y1, int x2, int y2, int c) {
brr[x1][y1] += c;
brr[x2 + 1][y1] -= c;
brr[x1][y2 + 1] -= c;
brr[x2 + 1][y2 + 1] += c;
}
}
798差分矩阵
最新推荐文章于 2024-10-04 11:27:42 发布