| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 511095 | 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"
void exploreCave(int N) {
    int d[N];
    
    int s[N];
    for(int i=0; i<N; i++){s[i]=0;}
    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);
	
}
