Submission #301957

#TimeUsernameProblemLanguageResultExecution timeMemory
301957BlancaHMCave (IOI13_cave)C++14
46 / 100
23 ms544 KiB
#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; 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 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...