#include<bits/stdc++.h> using namespace std; int n,m,q,xs,ys,xe,ye,c; int a[1005][1005],b[1005][1005],ans[1005][1005]; int main(){ cin>>n>>m>>q; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++){ cin>>a[i][j];//输入a[i][j] b[i][j]=a[i][j]-a[i-1][j]-a[i][j-1]+a[i-1][j-1];//由前缀和:a[i][j]=b[i][j]+a[i][j-1]+a[i-1][j]-a[i-1][j-1],所以b[i][j]=a[i][j]-a[i-1][j]-a[i][j-1]+a[i-1][j-1] } while(q--){ cin>>xs>>ys>>xe>>ye>>c; b[xs][ys]+=c;//b[xs][ys]到b[n][m]增加c b[xs][ye+1]-=c;//b[xs][ye+1]到b[n][m]不应加c,减去c b[xe+1][ys]-=c;//b[xe+1][ys]到b[n][m]不应加c,减去c b[xe+1][ye+1]+=c;//b[xe+1][ye+1]多减了c,加上c } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ ans[i][j]=b[i][j]+ans[i][j-1]+ans[i-1][j]-ans[i-1][j-1];//做b数组前缀和 cout<<ans[i][j]<<" ";//输出结果 } cout<<endl; } return 0; } /************************************************************** Problem: 2351 User: fuhongyi Language: C++ Result: Accepted Time:5 ms Memory:13908 kb ****************************************************************/