Submission #1216914

#TimeUsernameProblemLanguageResultExecution timeMemory
1216914beijingCave (IOI13_cave)C++20
0 / 100
240 ms552 KiB
#include "cave.h" #include <bits/stdc++.h> using namespace std; void exploreCave(int N) { vector<int>S(N,0); vector<int>D(N,-1); vector<bool>used(N,false); vector<int>correct(N,-1); for(int door=0;door<N;door++) { int blocked=tryCombination(S.data()); int l=0,r=N-1,idx=-1; while(l<=r){ int m=(l+r)/2; vector<int>temp=S; for(int i=0;i<=m;i++){ if(!used[i]){ temp[i]^=1; } } int result=tryCombination(temp.data()); if(result==blocked){ for(int i=0;i<=m;i++){ if(!used[i]){ idx=i; break; } } r=m-1; }else{ l=m+1; } } D[idx]=blocked; used[idx]=true; S[idx]=0; int result=tryCombination(S.data()); if(result==blocked||result==-1){ correct[idx]=0; }else{ correct[idx]=1; } S[idx]=correct[idx]; } answer(correct.data(),D.data()); }
#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...