Advertisement
Guest User

mapa

a guest
Apr 20th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.71 KB | None | 0 0
  1. #include<cstdio>
  2. #include<iostream>
  3. #include<string>
  4. #include <vector>
  5. using namespace std;
  6. int n,r,tab[255][255],dp[255][255],wynik[255][255];
  7. int fun(int x,int y)
  8. {
  9.     int a=max(0,x-r);
  10.     int b=max(0,y-r);
  11.     int c=min(n,x+r);
  12.     int d=min(n,y+r);
  13.     return dp[c][d]-dp[a-1][d]-dp[c][b-1]+dp[a-1][b-1];
  14. }
  15. int main() {
  16. cin>>n>>r;
  17. for(int i=1;n>=i;i++)
  18.     for(int j=1;n>=j;j++)
  19.     cin>>tab[i][j];
  20. for(int i=1;n>=i;i++)
  21.     for(int j=1;n>=j;j++)
  22.     dp[i][j]=dp[i-1][j]+dp[i][j-1]-dp[i-1][j-1]+tab[i][j];
  23.  
  24. for(int i=1;n>=i;i++)
  25.     for(int j=1;n>=j;j++)
  26.     wynik[i][j]=fun(i,j);
  27. for(int i=1;n>=i;i++)
  28.     {for(int j=1;n>=j;j++)
  29.     cout<<wynik[i][j]<<" ";
  30.     cout<<endl;
  31.     }
  32.  
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement