# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
511103 | bebecanvas | Cave (IOI13_cave) | C++14 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "cave.h"
#include <queue>
void exploreCave(int N) {
int d[N];
int s[N];
for(int i=0; i<N; i++){s[i]=0;}
std::queue<int> q;
for(int i=0; i<N; i++){
q.push(i);
}
int prev= tryCombination(s);
while(!q.empty()){
int a= q.top(); q.pop();
s[a]++; s[a]%=2;
int b= tryCombination(s);
if(b==prev){q.push(a);}
else if(b>prev&&prev!=-1){
d[a]= prev;
prev= b;
}else{
d[a]= b;
s[a]++; s[a]%=2;
}
}
answer(s, d);
}