Submission #107641

#TimeUsernameProblemLanguageResultExecution timeMemory
107641FiloSanzaCave (IOI13_cave)C++14
46 / 100
24 ms640 KiB
#include "cave.h" #include <bits/stdc++.h> using namespace std; void exploreCave(int N) { int pos[N]; memset(pos, 0, sizeof(pos)); vector<int> ans(N, -1); vector<int> idx(N, -1); int cont = 0; int last = tryCombination(pos); if(last == -1){ for(int i=0; i<N; i++){ ans[i] = pos[i]; } cont = N; } while(cont < N){ for(int i=0; i<N && cont<N; i++)if(ans[i] == -1){ pos[i] ^= 1; int dist = tryCombination(pos); if(dist == -1){ /*cerr << "OPEN\n";*/ for(int x=0; x<N; x++) ans[x] = pos[x]; cont = N; break; } if(last < dist){ idx[i] = last; ans[i] = pos[i]; ++cont; last = dist; } else if(last > dist){ pos[i] ^= 1; idx[i] = dist; ans[i] = pos[i]; ++cont; } else pos[i] ^= 1; } } for(int i=0; i<N; i++) if(idx[i] == -1){ pos[i] ^= 1; int dist = tryCombination(pos); idx[i] = dist; pos[i] ^= 1; } answer(ans.data(), idx.data()); }
#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...