Submission #1132084

#TimeUsernameProblemLanguageResultExecution timeMemory
1132084heeyCave (IOI13_cave)C++20
46 / 100
8 ms516 KiB
#include<bits/stdc++.h>
using namespace std;
#include "cave.h"

void exploreCave(int n){
	int s[n], d[n];
	for(int i = 0; i < n; i++) s[i] = 0, d[i] = 0;

	vector<bool> known(n, false);

	
	int cur = tryCombination(s);
	int prev = cur;
	int i = 0;
	while(cur != -1){
		if(!known[i]){

			s[i] = !s[i];
			cur = tryCombination(s);
	
			
			if(cur != -1 && cur < prev){
				d[i] = cur;
				known[i] = true;
				s[i] = !s[i];
			}
			else if(cur > prev || cur == -1){
				d[i] = prev;
				known[i] = true;
			}
		}

		prev = max(prev, cur);
		i++;
		i %= n;
	} 

	for(int i = 0; i < n; i++){
		if(!known[i]){
			s[i] = !s[i];
			cur = tryCombination(s);
			d[i] = cur;
			s[i] = !s[i];
		}
	}
	
	answer(s, d);
}
#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...