Submission #882326

#TimeUsernameProblemLanguageResultExecution timeMemory
882326dubabubaCave (IOI13_cave)C++14
0 / 100
2053 ms348 KiB
#include "cave.h"
#include <bits/stdc++.h>

const int mxn = 5050;
using namespace std;

void exploreCave(int N) {
	int d[N], id[N];
	for(int i = 0; i < N; i++)
		id[i] = i;

	memset(d, 0, sizeof d);
	auto rev = [&](int l, int r) {
		for(int i = l; i <= r; l++)
			d[i] = 1 - d[i];
	};

	int las = -1;
	while(1) {
		int i = tryCombination(d);
		if(i == -1) break;

		las = max(las, i);
		if(las * 2 >= N) rev(las + 1, N - 1);
		else rev(las + 1, las * 2);
		
		int j = tryCombination(d);
		if(j == -1) break;
		las = j + 1;
		d[j + 1] = 1 - d[j + 1];
	}

	answer(d, id);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...