AOJ 1125 Get Many Persimmon Trees

問題

Get Many Persimmon Trees | Aizu Online Judge

  • WxHの土地のうちでSxTの領域に含まれる木の本数の最大値を求める

方針

全てのSxTの領域について木の本数を数える

コード

#include <bits/stdc++.h>
 
using namespace std;
typedef long long ll;
 
#define rep(i, n) for(int i=0; i<(n); ++i)

int field[101][101];
int main(void){
    int N, W, H, x, y, S, T;
    while(cin >> N && N) {
        cin >> W >> H;
        rep(i, W) rep(j, H) field[i][j] = 0;
        rep(i, N) {
            cin >> x >> y;
            field[x-1][y-1] = 1;
        }
        cin >> S >> T;
        int ans = 0;
        rep(i, W-S+1) {
            rep(j, H-T+1) {
                int tree = 0;
                rep(a, S) rep(b, T) tree += field[i+a][j+b];
                ans = max(ans, tree);
            }
        }
        cout << ans << endl;
    }
}

http://judge.u-aizu.ac.jp/onlinejudge/review.jsp?rid=1889090

反省

さすがにもうちょい計算量減りそうだけど難易度100だしまぁいっか