Submission #4015745


Source Code Expand

#include <algorithm>
#include <iostream>
#include <vector>

using namespace std;

int N, X[30], Y[30];
vector<int> coox, cooy;
int dp[40][40][40][40];
bool visited[40][40][40][40];

int rec(int lx, int ly, int ux, int uy) {
    if (ux < lx || uy < ly) return 0;

    if (visited[lx][ly][ux][uy]) return dp[lx][ly][ux][uy];
    visited[lx][ly][ux][uy] = true;

    dp[lx][ly][ux][uy] = 0;
    int cross = (coox[ux] - coox[lx]) + (cooy[uy] - cooy[ly]) - 3;

    for (int i = 0; i < N; ++i) {
        if (X[i] <= lx || ux <= X[i] || Y[i] <= ly || uy <= Y[i]) continue;
        int res = 0;
        res += rec(lx, ly, X[i], Y[i]);
        res += rec(X[i], ly, ux, Y[i]);
        res += rec(lx, Y[i], X[i], uy);
        res += rec(X[i], Y[i], ux, uy);
        dp[lx][ly][ux][uy] = max(dp[lx][ly][ux][uy], res + cross);
    }

    return dp[lx][ly][ux][uy];
}

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

    coox = {-1, H}, cooy = {-1, W};

    for (int i = 0; i < N; ++i) {
        cin >> X[i] >> Y[i];
        coox.push_back(--X[i]);
        cooy.push_back(--Y[i]);
    }

    sort(coox.begin(), coox.end());
    coox.erase(unique(coox.begin(), coox.end()), coox.end());

    sort(cooy.begin(), cooy.end());
    coox.erase(unique(cooy.begin(), cooy.end()), cooy.end());

    for (int i = 0; i < N; ++i) {
        for (int x = 0; x < coox.size(); ++x) {
            if (coox[x] == X[i]) {
                X[i] = x;
                break;
            }
        }
        for (int y = 0; y < coox.size(); ++y) {
            if (cooy[y] == Y[i]) {
                Y[i] = y;
                break;
            }
        }
    }

    cout << rec(0, 0, coox.size() - 1, cooy.size() - 1) << endl;
    return 0;
}

Submission Info

Submission Time
Task D - 金塊ゲーム
User Tiramister
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1779 Byte
Status AC
Exec Time 6 ms
Memory 9856 KB

Judge Result

Set Name Sample Subtask1 Subtask2 Subtask3
Score / Max Score 0 / 0 80 / 80 19 / 19 1 / 1
Status
AC × 3
AC × 25
AC × 50
AC × 75
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 2 ms 2304 KB
sample_02.txt AC 2 ms 2304 KB
sample_03.txt AC 2 ms 4480 KB
subtask1_01.txt AC 2 ms 2304 KB
subtask1_02.txt AC 2 ms 2304 KB
subtask1_03.txt AC 2 ms 4480 KB
subtask1_04.txt AC 2 ms 4480 KB
subtask1_05.txt AC 2 ms 2304 KB
subtask1_06.txt AC 2 ms 2304 KB
subtask1_07.txt AC 2 ms 2304 KB
subtask1_08.txt AC 2 ms 2304 KB
subtask1_09.txt AC 2 ms 2304 KB
subtask1_10.txt AC 2 ms 2304 KB
subtask1_11.txt AC 2 ms 2304 KB
subtask1_12.txt AC 2 ms 2432 KB
subtask1_13.txt AC 2 ms 2432 KB
subtask1_14.txt AC 2 ms 2432 KB
subtask1_15.txt AC 2 ms 4480 KB
subtask1_16.txt AC 2 ms 4480 KB
subtask1_17.txt AC 2 ms 4480 KB
subtask1_18.txt AC 2 ms 4480 KB
subtask1_19.txt AC 2 ms 4480 KB
subtask1_20.txt AC 2 ms 4480 KB
subtask1_21.txt AC 2 ms 4480 KB
subtask1_22.txt AC 2 ms 4480 KB
subtask1_23.txt AC 2 ms 4480 KB
subtask1_24.txt AC 2 ms 4480 KB
subtask1_25.txt AC 2 ms 4480 KB
subtask2_01.txt AC 3 ms 6784 KB
subtask2_02.txt AC 3 ms 6784 KB
subtask2_03.txt AC 4 ms 7040 KB
subtask2_04.txt AC 4 ms 7040 KB
subtask2_05.txt AC 4 ms 9216 KB
subtask2_06.txt AC 5 ms 9344 KB
subtask2_07.txt AC 5 ms 9472 KB
subtask2_08.txt AC 5 ms 9344 KB
subtask2_09.txt AC 6 ms 9856 KB
subtask2_10.txt AC 6 ms 9856 KB
subtask2_11.txt AC 6 ms 9856 KB
subtask2_12.txt AC 6 ms 9856 KB
subtask2_13.txt AC 5 ms 9472 KB
subtask2_14.txt AC 5 ms 9344 KB
subtask2_15.txt AC 2 ms 4608 KB
subtask2_16.txt AC 5 ms 9472 KB
subtask2_17.txt AC 6 ms 9856 KB
subtask2_18.txt AC 6 ms 9856 KB
subtask2_19.txt AC 6 ms 9856 KB
subtask2_20.txt AC 6 ms 9856 KB
subtask2_21.txt AC 6 ms 9856 KB
subtask2_22.txt AC 6 ms 9728 KB
subtask2_23.txt AC 6 ms 9856 KB
subtask2_24.txt AC 6 ms 9856 KB
subtask2_25.txt AC 6 ms 9728 KB
subtask3_01.txt AC 2 ms 2432 KB
subtask3_02.txt AC 3 ms 6784 KB
subtask3_03.txt AC 3 ms 6784 KB
subtask3_04.txt AC 3 ms 6912 KB
subtask3_05.txt AC 4 ms 7168 KB
subtask3_06.txt AC 3 ms 7040 KB
subtask3_07.txt AC 3 ms 7040 KB
subtask3_08.txt AC 4 ms 9472 KB
subtask3_09.txt AC 4 ms 9344 KB
subtask3_10.txt AC 6 ms 9856 KB
subtask3_11.txt AC 6 ms 9728 KB
subtask3_12.txt AC 6 ms 9856 KB
subtask3_13.txt AC 6 ms 9856 KB
subtask3_14.txt AC 6 ms 9728 KB
subtask3_15.txt AC 6 ms 9856 KB
subtask3_16.txt AC 6 ms 9728 KB
subtask3_17.txt AC 6 ms 9856 KB
subtask3_18.txt AC 4 ms 9344 KB
subtask3_19.txt AC 6 ms 9856 KB
subtask3_20.txt AC 5 ms 9472 KB
subtask3_21.txt AC 6 ms 9856 KB
subtask3_22.txt AC 6 ms 9856 KB
subtask3_23.txt AC 6 ms 9856 KB
subtask3_24.txt AC 6 ms 9856 KB
subtask3_25.txt AC 6 ms 9856 KB