# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1237520 | SG2Alok | Cave (IOI13_cave) | C++20 | 0 ms | 0 KiB |
#include "cave.h"
#include <bits/stdc++.h>
using namespace std;
void exploreCave(int N) {
int a[N], ans[N];
for(int i = 0; i < N; i++) a[i] = mt()%2, ans[i] = -1;
int cur = tryCombination(a);
while(cur != -1){
for(int i = 0; i < N; i++){
if(ans[i] != -1) continue;
a[i] = 1 - a[i];
int judges = tryCombination(a);
if(judges == -1){
cur = judges;
break;
}
if(judges < cur){
a[i] = 1 - a[i];
ans[i] = judges;
} else if(judges > cur){
ans[i] = judges;
cur = judges;
}
}
}
for(int i = 0; i < N; i++){
a[i] = 1 - a[i];
ans[i] = tryCombination(a);
a[i] = 1 - a[i];
}
answer(a, ans);
}