Submission #29898

#TimeUsernameProblemLanguageResultExecution timeMemory
29898dereotuCave (IOI13_cave)C++14
13 / 100
149 ms640 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]; int b[N]; forr(i,0,N) b[i]=1; memset(ans,-1,sizeof ans); memset(done,-1,sizeof done); int last=tryCombination(a); 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; } } } int f=0; forr(i,0,N){ if(ans[i]==-1 or done[i]==-1){ f=1; break; } } if(!f){ answer(a,ans); } memset(done,-1,sizeof done); memset(ans,-1,sizeof ans); forr(j,0,N){ forr(i,0,N){ if(done[i]!=-1) continue; b[i]=0; int res=tryCombination(b); if(res==-1){ b[i]=1; int wtf=tryCombination(b); ans[i]=wtf; b[i]=0; done[i]=1; continue; } if(res!=last){ if(last>res){ b[i]=1; ans[i]=res; done[i]=1; } else{ ans[i]=last; b[i]=0; done[i]=1; last=res; } } else{ b[i]=1; } } } answer(b,ans); } 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...