Submission #301948

# Submission time Handle Problem Language Result Execution time Memory
301948 2020-09-18T10:31:57 Z BlancaHM Cave (IOI13_cave) C++14
13 / 100
17 ms 640 KB
#include "cave.h"
#include <iostream>
#include <fstream>
#include <cfloat>
#include <iomanip>
#include <vector>
#include <algorithm>
#include <queue>
#include <stack>
#include <cstring>
#include <cmath>
#include <climits>
#include <set>
#include <map>
#include <unordered_set>
#include <unordered_map>
using namespace std;
typedef pair<int, int> pii;
typedef long long int ll;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<vvi> vvvi;
typedef vector<vvvi> vvvvi;
typedef vector<pii> vpii;
typedef vector<vpii> vvpii;
typedef vector<ll> vl;
typedef vector<vl> vvl;
typedef vector<vvl> vvvl;
typedef vector<vvvl> vvvvl;
typedef vector<string> vs;
#define fir first
#define sec second
#define pb push_back
#define eb emplace_back
#define ppb pop_back
#define pf push_front
#define ppf pop_front
#define mp make_pair
#define len(v) ((int)v.size())
#define all(v) v.begin(), v.end()

void exploreCave(int N) {
	int finalS[N], finalD[N], switchComb[N];
	memset(finalS, -1, sizeof(finalS));
	memset(finalD, -1, sizeof(finalD));
	memset(switchComb, 0, sizeof(switchComb));
	int val = tryCombination(switchComb), curVal;
	while(val != -1) {
		for (int i = 0; i < N; i++) {
			if (finalS[i] != -1) continue;
			switchComb[i] = 1;
			curVal = tryCombination(switchComb);
			if (curVal == -1) {
				val = -1;
				finalD[i] = N-1;
				finalS[i] = 1;
				break;
			}
			if (curVal > val) {
				finalD[i] = val;
				val = curVal;
				finalS[i] = 1;
			} else if (curVal < val) {
				finalD[i] = curVal;
				finalS[i] = 0;
				switchComb[i] = 0;
			} else switchComb[i] = 0;
		}
		if (val == -1) break;
	}
	for (int i = 0; i < N; i++) {
		if (finalS[i] == -1) {
			finalS[i] = switchComb[i];
			switchComb[i] = 1 - switchComb[i];
			curVal = tryCombination(switchComb);
			finalD[i] = curVal;
			switchComb[i] = 1 - switchComb[i];
		}
	}
	answer(finalS, finalD);
}
# Verdict Execution time Memory Grader output
1 Incorrect 10 ms 384 KB Answer is wrong
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 15 ms 384 KB Output is correct
2 Correct 1 ms 384 KB Output is correct
3 Correct 15 ms 512 KB Output is correct
4 Correct 1 ms 384 KB Output is correct
5 Correct 1 ms 384 KB Output is correct
6 Correct 15 ms 640 KB Output is correct
7 Correct 15 ms 512 KB Output is correct
8 Correct 17 ms 512 KB Output is correct
9 Correct 17 ms 512 KB Output is correct
10 Correct 17 ms 504 KB Output is correct
11 Correct 15 ms 512 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 1 ms 256 KB Output is correct
3 Correct 1 ms 384 KB Output is correct
4 Correct 1 ms 384 KB Output is correct
5 Incorrect 1 ms 256 KB Answer is wrong
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 1 ms 256 KB Output is correct
3 Correct 1 ms 384 KB Output is correct
4 Correct 1 ms 384 KB Output is correct
5 Incorrect 1 ms 256 KB Answer is wrong
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 10 ms 384 KB Answer is wrong
2 Halted 0 ms 0 KB -