Submission #1310699

#TimeUsernameProblemLanguageResultExecution timeMemory
1310699lizi14Cave (IOI13_cave)C++20
0 / 100
143 ms512 KiB
#include <bits/stdc++.h> #include "cave.h" using namespace std; void exploreCave(int N) { int x[N]; fill(x,x+N,0); int s[N]; fill(s,s+N,0); int an=0; int f=0; int c[N]; int h=0; for(int h=0; h<N; h++){ for(int i=0; i<N; i++){ if(c[i]==0)x[i]=0; } int a=tryCombination(x); int ka; if(a!=h){ ka=0; } else{ ka=1; } for(int i=0; i<N; i++){ if(c[i]==0)x[i]=1-ka; } //if(a>h || a==-1){ int ans=0; int l=0,r=N-1; while(l<r){ int mid=(l+r)/2; for(int i=l; i<=mid; i++){ if(c[i]==0){ x[i]=ka; } } int a=tryCombination(x); if(a!=h){ r=mid; ans=mid; } else { ans=mid+1; l=mid+1; } for(int i=l; i<=mid; i++){ if(c[i]==0)x[i]=1-ka; } } //an=a; //x[ans]=1-x[ans]; s[ans]=h; x[ans]=ka; c[ans]=1; // for(int i=0; i<N; i++){ // if(s[i]==0){ // x[i]=0; // } // } //} // else{ // for(int i=0; i<N; i++){ // if(s[i]==0){ // x[i]=1-x[i]; // //f=x[i]; // } // } // } // for(int i=0; i<N; i++){ // cout<<x[i]<<" "; // } // cout<<endl; //x[a]=1-x[a]; } return answer(x, s); }
#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...