AcWing 798. 差分矩阵
原题链接
简单
作者:
Judy666
,
2024-04-17 20:48:31
,
所有人可见
,
阅读 2
#include <iostream>
using namespace std;
const int N=1e3+10;
int A[N][N],B[N][N];
int n,m,q;
int x1,y1,x2,y2,c;
int main() {
scanf("%d %d %d",&n,&m,&q);
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
scanf("%d",&A[i][j]);
B[i][j]=A[i][j]-A[i-1][j]-A[i][j-1]+A[i-1][j-1];
}
}
while(q--){
scanf("%d%d%d%d%d",&x1,&y1,&x2,&y2,&c);
B[x1][y1]+=c;
B[x1][y2+1]-=c;
B[x2+1][y1]-=c;
B[x2+1][y2+1]+=c;
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
A[i][j]=A[i-1][j]+A[i][j-1]-A[i-1][j-1]+B[i][j];
printf("%d ",A[i][j]);
}
printf("\n");
}
return 0;
}