AcWing 3412. 邻域均值
原题链接
简单
作者:
腾杨天下
,
2021-04-22 17:19:34
,
所有人可见
,
阅读 419
前缀和操作
代码
#include<bits/stdc++.h>
using namespace std;
const int N = 1010;
int a[N][N];
int n,l,r,t;
int cnt;
int main()
{
cin>>n>>l>>r>>t;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
cin>>a[i][j];
a[i][j]=a[i-1][j]+a[i][j-1]+a[i][j]-a[i-1][j-1];
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
int x1,y1,x2,y2;
if(i+r>n)x1=n;else x1=i+r;
if(j+r>n)y1=n;else y1=j+r;
if(i-r<1)x2=1;else x2=i-r;
if(j-r<1)y2=1;else y2=j-r;
int s=a[x1][y1]-a[x1][y2-1]-a[x2-1][y1]+a[x2-1][y2-1];
if(s<=t*(x1-x2+1)*(y1-y2+1))cnt++;
}
}
cout<<cnt;
return 0;
}