Submission #145071

#TimeUsernameProblemLanguageResultExecution timeMemory
145071youssefbou62Cave (IOI13_cave)C++14
0 / 100
66 ms860 KiB
#include <bits/stdc++.h> #include <cave.h> using namespace std; int n , door[5005] , Comb[5005] ; void Rev(int l , int r ){ for(;l<=r;l++)if(door[l]!=-1)Comb[l]=!Comb[l]; } void findDoor(){ int l =0 , r = n-1 ; int start = tryCombination(Comb); while (l<r && start != -1 ){ int mid = (l+r)/2 ; Rev(l,mid); int rep = tryCombination(Comb); Rev(l,mid); if( rep == start )l=mid+1; else r = mid ; } assert(l==r||start==-1); door[l]=start; } void exploreCave(int N){ memset(door,-1,sizeof door); for(int i = 0 ; i < N ; i++ ){ findDoor(); } for(int i = 0 ; i< N ; i++ ){ if( door[i]==-1){ Rev(i,i); door[i]=tryCombination(Comb); Rev(i,i); } } answer(Comb,door); }
#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...