AcWing 3412. 邻域均值
原题链接
简单
作者:
故事里的大魔王
,
2025-03-13 18:43:18
·山东
,
所有人可见
,
阅读 1
#include <iostream>
using namespace std;
const int N = 610;
int g[N][N];
int getSum(int x1, int y1, int x2, int y2) {
return g[x2][y2] - g[x1 - 1][y2] - g[x2][y1 - 1] + g[x1 - 1][y1 - 1];
}
int getCount(int x1, int y1, int x2, int y2) {
return (x2 - x1 + 1) * (y2 - y1 + 1);
}
int main() {
int n, l, r, t;
cin >> n >> l >> r >> t;
for (int i = 1; i <= n; ++i) { // 读入数据
for (int j = 1; j <= n; ++j) {
int x;
cin >> x;
g[i][j] = x + g[i - 1][j] + g[i][j - 1] - g[i - 1][j - 1];
}
}
int res = 0;
for ( int i = 1; i <= n; ++ i ) {
for ( int j = 1; j <= n; ++ j ) {
int x1 = max(1, i - r), y1 = max(1, j - r);
int x2 = min(n, i + r), y2 = min(n, j + r);
if ( getSum(x1, y1, x2, y2) <= t * getCount(x1, y1, x2, y2))
++ res;
}
}
cout << res << endl;
return 0;
}