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 |
|
|
|
|
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 |