Submission #678022

#TimeUsernameProblemLanguageResultExecution timeMemory
678022hello_there_123Cave (IOI13_cave)C++17
0 / 100
165 ms340 KiB
#include "cave.h" #include <bits/stdc++.h> using namespace std; int n;/* int tryCombination(int A[]){ for(int i=0;i<n;i++) cout<<A[i]<<" "; cout<<"\n"; return 1; } void answer(int A[],int B[]){ cout<<"H"<<endl; for(int i=0;i<n;i++) cout<<A[i]<<" "; cout<<endl; for(int i=0;i<n;i++) cout<<B[i]<<" "; }*/ void exploreCave(int N) { n = N; int comb[N+3]; int link[N+3]; memset(comb,-1,sizeof(comb)); memset(link,-1,sizeof(link)); for(int i=0;i<N;i++){ int tr[N+3]; for(int j=0;j<N;j++){ tr[j] = comb[j]; } for(int j=0;j<N;j++){ if(tr[j] == -1) tr[j] = 0; } int cor; int c = tryCombination(tr); if(c>i || c==-1) cor = 0; else cor = 1; int lo = 0; int hi = N-1; while(lo<=hi){ int X = (lo+hi)/2; for(int j=lo;j<=X;j++){ if(comb[j] == -1) tr[j] = cor; } for(int j=X+1;j<hi;j++){ if(comb[j] == -1) tr[j] = 1-cor; } if(tryCombination(tr)>i){ hi = X-1; } else lo = X+1; } link[lo] = i; comb[lo] = cor; } answer(comb, link); }
#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...