Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<cstdio>
- #include<iostream>
- #include<string>
- #include <vector>
- using namespace std;
- int n,r,tab[255][255],dp[255][255],wynik[255][255];
- int fun(int x,int y)
- {
- int a=max(0,x-r);
- int b=max(0,y-r);
- int c=min(n,x+r);
- int d=min(n,y+r);
- return dp[c][d]-dp[a-1][d]-dp[c][b-1]+dp[a-1][b-1];
- }
- int main() {
- cin>>n>>r;
- for(int i=1;n>=i;i++)
- for(int j=1;n>=j;j++)
- cin>>tab[i][j];
- for(int i=1;n>=i;i++)
- for(int j=1;n>=j;j++)
- dp[i][j]=dp[i-1][j]+dp[i][j-1]-dp[i-1][j-1]+tab[i][j];
- for(int i=1;n>=i;i++)
- for(int j=1;n>=j;j++)
- wynik[i][j]=fun(i,j);
- for(int i=1;n>=i;i++)
- {for(int j=1;n>=j;j++)
- cout<<wynik[i][j]<<" ";
- cout<<endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement