Submission #164369

#TimeUsernameProblemLanguageResultExecution timeMemory
164369cfalasCave (IOI13_cave)C++14
33 / 100
368 ms656 KiB
#include<bits/stdc++.h>
using namespace std;
#include "cave.h"
#define pr(x) //cout<<#x<<" "<<x<<endl;


void exploreCave(int n) {
	int used[n]={}, correct[n] = {};
	int aa[n];
	for(int i=0;i<n;i++){
		// Find correct position of switch
		int curr[n];
		for(int j=0;j<n;j++){
			if(used[j]) curr[j] = correct[j];
			else curr[j] = 1;
			//cout<<curr[j]<<" ";
		}
		//cout<<endl;
		int ans = tryCombination(curr);
		int correctVal = 1;
		//cout<<ans<<endl;
		if(ans<=i && ans!=-1) correctVal = 0;
		
		pr(correctVal);

		// Find switch needed
		for(int s=0;s<n;s++){
			if(used[s]) continue;
			//cout<<s<<": ";
			for(int j=0;j<n;j++){
				if(used[j]) curr[j] = correct[j];
				else if(j==s) curr[j] = correctVal;
				else curr[j] = 1 - correctVal;
				//cout<<curr[j]<<" ";
			}
			//cout<<endl;
			ans = tryCombination(curr);
			if(ans>i || ans==-1){
				used[s] = true;
				correct[s] = correctVal;
				aa[s] = i;
				pr(s);
				//cout<<"----------------\n";
				break;
			}
		}
	}
		answer(correct, aa);
}
#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...