Submission #170091


Source Code Expand

Copy
#include <iostream>
#include <vector>
#include <algorithm>
#include <numeric>
#include <set>
#include <map>
#include <string>
#include <stack>
#include <queue>
#include <cmath>
#include <cstdio>
#include <istream>
#include <sstream>
#include <iomanip>
#include <iterator>
#include <climits>
using namespace std;

typedef ostringstream OSS;
typedef istringstream ISS;

typedef vector<int> VI;
typedef vector< VI > VVI;

typedef long long LL;

typedef pair<int, int> PII;
typedef vector<PII> VPII;

typedef tuple<int, int, int, int> I4;

#define X first
#define Y second

int W, H, N;
VPII robots;
map<I4, int> memo;

int dfs(I4 area) {
	if (memo.count(area)) {
		return memo[area];
	}

	int w = get<2>(area) - get<0>(area);
	int h = get<3>(area) - get<1>(area);

	VI res(1, 0);
	for (auto &robot : robots) {
		if (get<0>(area) <= robot.X && robot.X < get<2>(area) &&
			get<1>(area) <= robot.Y && robot.Y < get<3>(area)) {

			int tmp = w + h - 1;
			tmp += dfs(make_tuple( get<0>(area), get<1>(area), robot.X,      robot.Y      ));
			tmp += dfs(make_tuple( get<0>(area), robot.Y + 1,  robot.X,      get<3>(area) ));
			tmp += dfs(make_tuple( robot.X + 1,  get<1>(area), get<2>(area), robot.Y      ));
			tmp += dfs(make_tuple( robot.X + 1,  robot.Y + 1,  get<2>(area), get<3>(area  )));

			res.push_back(tmp);
		}
	}

	return memo[area] = *max_element(res.begin(), res.end());
}

int main(void) {
	cin >> W >> H >> N;
	robots = VPII(N);
	for (auto &robot : robots) {
		cin >> robot.X >> robot.Y;
		robot.X--;
		robot.Y--;
	}

	cout << dfs(make_tuple(0, 0, W, H)) << endl;

	return 0;
}

Submission Info

Submission Time
Task D - 金塊ゲーム
User snakazawa
Language C++11 (GCC 4.8.1)
Score 100
Code Size 1665 Byte
Status AC
Exec Time 58 ms
Memory 1592 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 39 ms 864 KB
sample_02.txt AC 25 ms 916 KB
sample_03.txt AC 24 ms 816 KB
subtask1_01.txt AC 25 ms 920 KB
subtask1_02.txt AC 24 ms 916 KB
subtask1_03.txt AC 23 ms 868 KB
subtask1_04.txt AC 23 ms 920 KB
subtask1_05.txt AC 24 ms 912 KB
subtask1_06.txt AC 24 ms 864 KB
subtask1_07.txt AC 24 ms 916 KB
subtask1_08.txt AC 25 ms 920 KB
subtask1_09.txt AC 23 ms 812 KB
subtask1_10.txt AC 27 ms 928 KB
subtask1_11.txt AC 23 ms 816 KB
subtask1_12.txt AC 24 ms 844 KB
subtask1_13.txt AC 23 ms 820 KB
subtask1_14.txt AC 22 ms 912 KB
subtask1_15.txt AC 23 ms 916 KB
subtask1_16.txt AC 23 ms 936 KB
subtask1_17.txt AC 24 ms 804 KB
subtask1_18.txt AC 24 ms 916 KB
subtask1_19.txt AC 25 ms 916 KB
subtask1_20.txt AC 22 ms 912 KB
subtask1_21.txt AC 25 ms 864 KB
subtask1_22.txt AC 23 ms 920 KB
subtask1_23.txt AC 25 ms 888 KB
subtask1_24.txt AC 23 ms 956 KB
subtask1_25.txt AC 23 ms 916 KB
subtask2_01.txt AC 28 ms 1044 KB
subtask2_02.txt AC 26 ms 936 KB
subtask2_03.txt AC 28 ms 1060 KB
subtask2_04.txt AC 33 ms 1060 KB
subtask2_05.txt AC 39 ms 1132 KB
subtask2_06.txt AC 39 ms 1188 KB
subtask2_07.txt AC 41 ms 1280 KB
subtask2_08.txt AC 39 ms 1296 KB
subtask2_09.txt AC 54 ms 1444 KB
subtask2_10.txt AC 54 ms 1500 KB
subtask2_11.txt AC 52 ms 1444 KB
subtask2_12.txt AC 55 ms 1444 KB
subtask2_13.txt AC 39 ms 1188 KB
subtask2_14.txt AC 41 ms 1300 KB
subtask2_15.txt AC 25 ms 920 KB
subtask2_16.txt AC 38 ms 1188 KB
subtask2_17.txt AC 57 ms 1512 KB
subtask2_18.txt AC 57 ms 1444 KB
subtask2_19.txt AC 54 ms 1448 KB
subtask2_20.txt AC 54 ms 1448 KB
subtask2_21.txt AC 54 ms 1440 KB
subtask2_22.txt AC 54 ms 1440 KB
subtask2_23.txt AC 51 ms 1448 KB
subtask2_24.txt AC 54 ms 1444 KB
subtask2_25.txt AC 58 ms 1444 KB
subtask3_01.txt AC 23 ms 912 KB
subtask3_02.txt AC 25 ms 936 KB
subtask3_03.txt AC 26 ms 932 KB
subtask3_04.txt AC 27 ms 928 KB
subtask3_05.txt AC 34 ms 1024 KB
subtask3_06.txt AC 29 ms 1056 KB
subtask3_07.txt AC 30 ms 1064 KB
subtask3_08.txt AC 37 ms 1188 KB
subtask3_09.txt AC 40 ms 1192 KB
subtask3_10.txt AC 57 ms 1444 KB
subtask3_11.txt AC 52 ms 1448 KB
subtask3_12.txt AC 56 ms 1540 KB
subtask3_13.txt AC 58 ms 1512 KB
subtask3_14.txt AC 53 ms 1444 KB
subtask3_15.txt AC 54 ms 1536 KB
subtask3_16.txt AC 54 ms 1592 KB
subtask3_17.txt AC 53 ms 1440 KB
subtask3_18.txt AC 34 ms 1060 KB
subtask3_19.txt AC 53 ms 1440 KB
subtask3_20.txt AC 37 ms 1188 KB
subtask3_21.txt AC 57 ms 1448 KB
subtask3_22.txt AC 55 ms 1436 KB
subtask3_23.txt AC 54 ms 1436 KB
subtask3_24.txt AC 56 ms 1440 KB
subtask3_25.txt AC 51 ms 1448 KB