#include "cave.h"
#include "bits/stdc++.h"
using namespace std;
int f(vector < int > a){
int n = (int)a.size();
int s[n];
for(int i = 0; i < n; i++)
s[i] = a[i];
return tryCombination(s);
}
void exploreCave(int n){
vector < int > s(n, 1);
int x = f(s);
bool turn = (x >= 1);
set < int > st;
vector < pair < int , int > > y;
int k = 10;
while(y.size() != n && k--){
for(int i = 0; i < n; i++){
if(st.count(i) == 0){
s[i] = turn;
}
}
x = f(s);
if(x == -1)x = n;
for(int i = 0; i < n; i++){
if(st.count(i) > 0)
continue;
s[i] = turn ^ 1;
// cout << f(s) << "---\n";
// for(auto i : s)cout << i << ' ';cout << endl;
if(f(s) < x && f(s) != -1){
// cout << i << '-' << x << "->turn:" << turn << endl;
y.push_back({i, f(s)});
st.insert(i);
}
s[i] = turn;
}
// cout << endl;
turn ^= 1;
}
sort(y.begin(), y.end());
int e[n], o[n], id1 = 0, id2 = 0;
for(auto [idx, va] : y)e[id1++] = va;
for(auto i : s)o[id2++] = i;
answer(o, e);
}
// C:\Users\Kazim\Downloads\Desktop\cavee
// g++ cave.cpp grader.c -o main
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |