Submission #1171014

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
11710142025-03-20 11:47:09ortsacCave (IOI13_cave)C++20
100 / 100
478 ms628 KiB
#include <bits/stdc++.h>
#include "cave.h"
using namespace std;
int n;
vector<int> found;
vector<int> state;
vector<int> ans;
void exploreCave(int N) {
n = N;
state.resize(n);
ans.resize(n);
found.resize(n);
for (int i = 0; i < n; i++) {
// we gonna find the switch that is connected to i, and the state of that switch
// lets start be finding the state
int s[n];
for (int j = 0; j < n; j++) {
if (found[j]) s[j] = state[j]; // j is the answer to some previous door
else s[j] = 0;
}
int x = tryCombination(s);
int istate = 1;
if ((x == -1) || (x > i)) istate = 0; // i is open with 0
// now we have to find the switch that is connected to i
// binary search: having a group of all switches that could be connected to i
// test half with istate, the other half with !istate
// if the door is open, it is on the first half
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#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...