Submission #229091


Source Code Expand

#include <cstdio> 
#include <cstdlib> 
#include <cmath> 
#include <cstring> 
#include <climits> 
#include <cfloat> 
#include <map> 
#include <utility> 
#include <set> 
#include <iostream> 
#include <memory> 
#include <string> 
#include <vector> 
#include <algorithm> 
#include <functional> 
#include <sstream> 
#include <complex> 
#include <stack> 
#include <queue> 
#include <numeric>
#include <cassert>

#define FOR(i, min, max) for (int i = (min); i < (max); ++i) 
#define FORE(i, min, max) for (int i = (min); i <= (max); ++i) 
#define REP(i, n) for (int i = 0; i < (n); ++i) 
#define REPV(vec, i) for (int i = 0; i < (int)(vec.size()); ++i) 
#define FOR_EACH(vec, it) for (typeof((vec).begin()) it = (vec).begin(); it != (vec).end(); ++it)

using namespace std; 
static const double EPS = 1e-12; 
typedef long long ll; 


ll mem[32][32][32][32];  /* [startx][starty][endx][endy] */
int W, H;
int N;
vector<pair<int, int> > P;
int XtoIdx[1<<20];
int YtoIdx[1<<20];

ll solve(int sx, int sy, int ex, int ey) {
    if (sx > ex || sy > ey) {
        return 0;
    }

    ll &ret = mem[XtoIdx[sx]][YtoIdx[sy]][XtoIdx[ex]][YtoIdx[ey]];
    if (ret < 0) {
        ret = 0;
        int sizex = (ex-sx+1);
        int sizey = (ey-sy+1);
        int numC = (sizex+sizey-1);
        REP(i, N) if (sx <= P[i].first  && P[i].first  <= ex && 
                      sy <= P[i].second && P[i].second <= ey) {
            ll n = numC;
            // left upper
            n += solve(sx, sy, P[i].first-1, P[i].second-1);
            // right upper
            n += solve(P[i].first+1, sy, ex, P[i].second-1);
            // left lower
            n += solve(sx, P[i].second+1, P[i].first-1, ey);
            // right upper
            n += solve(P[i].first+1, P[i].second+1, ex, ey);
            if (n > ret) {
                ret = n;
            }
        }
        //cout << "[DEBUG]: (" << sx << "," << sy << "),(" << ex << "," << ey << "): " << numC << "," << ret << endl;
    }
    return ret;
}

int main(void)
{
    cin >> W >> H;
    cin >> N;

    P.resize(N);
    set<int> X;
    set<int> Y;
    X.insert(1);
    X.insert(W);
    Y.insert(1);
    Y.insert(H);
    REP(i, N) {
        cin >> P[i].first >> P[i].second;
        X.insert(P[i].first+1);
        X.insert(P[i].first-1);
        Y.insert(P[i].second+1);
        Y.insert(P[i].second-1);
    }

    memset(XtoIdx, -1, sizeof(XtoIdx));
    memset(YtoIdx, -1, sizeof(YtoIdx));
    int xidx = 0;
    for (set<int>::iterator it=X.begin(); it!=X.end(); it++) {
        XtoIdx[*it] = xidx++;
    }
    int yidx = 0;
    for (set<int>::iterator it=Y.begin(); it!=Y.end(); it++) {
        YtoIdx[*it] = yidx++;
    }

    memset(mem, -1, sizeof(mem));
    ll ans = solve(1, 1, W, H);

    cout << ans << endl;

    return 0;
}

Submission Info

Submission Time
Task D - 金塊ゲーム
User imazato
Language C++ (G++ 4.6.4)
Score 80
Code Size 2886 Byte
Status WA
Exec Time 544 ms
Memory 17192 KB

Judge Result

Set Name Sample Subtask1 Subtask2 Subtask3
Score / Max Score 0 / 0 80 / 80 0 / 19 0 / 1
Status
AC × 3
AC × 25
AC × 30
RE × 20
AC × 33
WA × 1
RE × 41
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
Subtask1 subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt
Subtask2 subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt, subtask2_21.txt, subtask2_22.txt, subtask2_23.txt, subtask2_24.txt, subtask2_25.txt
Subtask3 subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt, subtask2_21.txt, subtask2_22.txt, subtask2_23.txt, subtask2_24.txt, subtask2_25.txt, subtask3_01.txt, subtask3_02.txt, subtask3_03.txt, subtask3_04.txt, subtask3_05.txt, subtask3_06.txt, subtask3_07.txt, subtask3_08.txt, subtask3_09.txt, subtask3_10.txt, subtask3_11.txt, subtask3_12.txt, subtask3_13.txt, subtask3_14.txt, subtask3_15.txt, subtask3_16.txt, subtask3_17.txt, subtask3_18.txt, subtask3_19.txt, subtask3_20.txt, subtask3_21.txt, subtask3_22.txt, subtask3_23.txt, subtask3_24.txt, subtask3_25.txt
Case Name Status Exec Time Memory
sample_01.txt AC 54 ms 17184 KB
sample_02.txt AC 52 ms 17052 KB
sample_03.txt AC 51 ms 17120 KB
subtask1_01.txt AC 56 ms 17120 KB
subtask1_02.txt AC 49 ms 17188 KB
subtask1_03.txt AC 56 ms 17188 KB
subtask1_04.txt AC 49 ms 17056 KB
subtask1_05.txt AC 53 ms 17060 KB
subtask1_06.txt AC 55 ms 17116 KB
subtask1_07.txt AC 54 ms 17060 KB
subtask1_08.txt AC 51 ms 17176 KB
subtask1_09.txt AC 48 ms 17064 KB
subtask1_10.txt AC 50 ms 17060 KB
subtask1_11.txt AC 50 ms 17176 KB
subtask1_12.txt AC 53 ms 17184 KB
subtask1_13.txt AC 51 ms 17068 KB
subtask1_14.txt AC 52 ms 17064 KB
subtask1_15.txt AC 53 ms 17056 KB
subtask1_16.txt AC 55 ms 17184 KB
subtask1_17.txt AC 54 ms 17188 KB
subtask1_18.txt AC 54 ms 17064 KB
subtask1_19.txt AC 55 ms 17184 KB
subtask1_20.txt AC 48 ms 17184 KB
subtask1_21.txt AC 53 ms 17068 KB
subtask1_22.txt AC 55 ms 17192 KB
subtask1_23.txt AC 50 ms 17164 KB
subtask1_24.txt AC 52 ms 17180 KB
subtask1_25.txt AC 76 ms 17168 KB
subtask2_01.txt AC 54 ms 17128 KB
subtask2_02.txt AC 51 ms 17116 KB
subtask2_03.txt AC 53 ms 17060 KB
subtask2_04.txt RE 544 ms 17060 KB
subtask2_05.txt RE 303 ms 17120 KB
subtask2_06.txt RE 303 ms 17072 KB
subtask2_07.txt RE 308 ms 17084 KB
subtask2_08.txt AC 55 ms 17060 KB
subtask2_09.txt RE 311 ms 17188 KB
subtask2_10.txt RE 318 ms 17160 KB
subtask2_11.txt RE 305 ms 17064 KB
subtask2_12.txt RE 313 ms 17060 KB
subtask2_13.txt RE 303 ms 17180 KB
subtask2_14.txt RE 298 ms 17184 KB
subtask2_15.txt AC 52 ms 17140 KB
subtask2_16.txt RE 300 ms 17184 KB
subtask2_17.txt RE 306 ms 17052 KB
subtask2_18.txt RE 315 ms 17060 KB
subtask2_19.txt RE 305 ms 17120 KB
subtask2_20.txt RE 300 ms 17064 KB
subtask2_21.txt RE 309 ms 17176 KB
subtask2_22.txt RE 306 ms 17132 KB
subtask2_23.txt RE 301 ms 17068 KB
subtask2_24.txt RE 293 ms 17188 KB
subtask2_25.txt RE 310 ms 17192 KB
subtask3_01.txt AC 51 ms 17188 KB
subtask3_02.txt AC 53 ms 17068 KB
subtask3_03.txt AC 54 ms 17176 KB
subtask3_04.txt RE 304 ms 17180 KB
subtask3_05.txt RE 314 ms 17120 KB
subtask3_06.txt RE 309 ms 17064 KB
subtask3_07.txt WA 54 ms 17180 KB
subtask3_08.txt RE 308 ms 17068 KB
subtask3_09.txt RE 313 ms 17192 KB
subtask3_10.txt RE 298 ms 17132 KB
subtask3_11.txt RE 293 ms 17116 KB
subtask3_12.txt RE 305 ms 17184 KB
subtask3_13.txt RE 291 ms 17056 KB
subtask3_14.txt RE 289 ms 17060 KB
subtask3_15.txt RE 292 ms 17184 KB
subtask3_16.txt RE 293 ms 17112 KB
subtask3_17.txt RE 288 ms 17124 KB
subtask3_18.txt RE 307 ms 17192 KB
subtask3_19.txt RE 306 ms 17120 KB
subtask3_20.txt RE 307 ms 17184 KB
subtask3_21.txt RE 301 ms 17176 KB
subtask3_22.txt RE 302 ms 17064 KB
subtask3_23.txt RE 301 ms 17124 KB
subtask3_24.txt RE 308 ms 17064 KB
subtask3_25.txt RE 286 ms 17188 KB