Submission #29884

#TimeUsernameProblemLanguageResultExecution timeMemory
29884dereotuCave (IOI13_cave)C++14
12 / 100
17 ms524 KiB
#include "cave.h" #include <bits/stdc++.h> #define pii pair<int,int> #define mp make_pair #define pb push_back #define st first #define nd second #define forr(i,A,B) for(int i=A;i<B;++i) #define space ' ' #define endl '\n' #define LL long long using namespace std; void exploreCave(int N) { int a[N]={0},ans[N],done[N]; memset(ans,-1,sizeof ans); memset(done,-1,sizeof done); int last=tryCombination(a); if(N>=100){ forr(i,0,N) ans[i]=i; int locked=tryCombination(a); forr(i,0,N){ locked=tryCombination(a); if(locked==-1) break; a[locked]=!a[locked]; } answer(a,ans); } if(last==-1){ forr(i,0,N){ a[i]=1; int res=tryCombination(a); ans[i]=res; a[i]=0; } } else{ forr(j,0,N){ forr(i,0,N){ if(done[i]!=-1) continue; a[i]=1; int res=tryCombination(a); if(res==-1){ a[i]=0; int wtf=tryCombination(a); ans[i]=wtf; a[i]=1; done[i]=1; continue; } if(res!=last){ if(last>res){ a[i]=0; ans[i]=res; done[i]=1; } else{ ans[i]=last; a[i]=1; done[i]=1; last=res; } } else{ a[i]=0; } } } } answer(a,ans); }
#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...