Submission #282916

#TimeUsernameProblemLanguageResultExecution timeMemory
282916themax23Cave (IOI13_cave)C++17
0 / 100
404 ms464 KiB
#include "cave.h" #include <bits/stdc++.h> #define deb(x) cerr << #x << ": " << x << '\n'; #define ios ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL) using namespace std; int n; const int NMAX = 5000; int T[NMAX], D[NMAX]; bool check_state(int* test, int idx){ int first = tryCombination(test); /* cerr << "test: "; for(int i = 0; i < n; ++i) cerr << test[i] << ' '; cerr << '\n';*/ //deb(idx); deb(first); //cerr << "first, idx: "<< first << ' ' << idx << '\n'; if(first == -1) return false; if(first > idx) return false; return true; } string nextCombination( int idx, bool state) { int t = ceil(log2(n)); string find = ""; int k = (n+1) / 2; //deb(t); int start_idx = 0; for(int i = 0; i < t; ++i){ int test[n]; for(int l=0; l<n; ++l) test[l] = T[l]; for(int indx = 0; indx < k; ++indx){ test[start_idx + indx] = 1; } //deb(start_idx); deb(k); //cerr << "test: "; //for(int it = 0; it < n; ++it) // cerr << test[it] << ' '; //cerr << '\n'; bool new_state = check_state(test,idx); //deb(state); deb(new_state); if(state != new_state) find += "L"; else {find += "R"; start_idx += k;} //deb(k); k /= 2; } //deb(find); return find; } void exploreCave(int N) { ios; n = N; //int D[N] = {0}, T[N] = {0}; //deb(n); for(int i = 0; i < N; ++i){ bool state = check_state(T,i); // 0 = open, 1 = closed char side = 'L'; //deb(state); string ans = nextCombination(i,state); int door_idx = 0; int f = (N+1) / 2; for(char x : ans){ if(x == 'R') door_idx += f; f /=2; } D[door_idx] = i; T[door_idx] = state; } answer(T,D); }

Compilation message (stderr)

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:63:8: warning: unused variable 'side' [-Wunused-variable]
   63 |   char side = 'L';
      |        ^~~~
#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...