#include<bits/stdc++.h> using namespace std; //nmq 343 //原来 //1 2 2 1 //3 2 2 1 //1 1 1 1 //差分 //1 1 0 -1 //2 -2 0 0 //-2 1 0 1 int n,m,q,a[1001][1001],b[1001][1001],ans[1001][1001],sx1, sy1, sx2, sy2, 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",&sx1,&sy1,&sx2,&sy2,&c); b[sx1][sy1]+=c; b[sx2+1][sy2+1]+=c; b[sx1][sy2+1]-=c; b[sx2+1][sy1]-=c; } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++) { ans[i][j]=ans[i-1][j]+ans[i][j-1]-ans[i-1][j-1]+b[i][j]; printf("%d ",ans[i][j]); } printf("\n"); } } /************************************************************** Problem: 2351 User: admin Language: C++ Result: Accepted Time:5 ms Memory:13820 kb ****************************************************************/