Submission #938370

#TimeUsernameProblemLanguageResultExecution timeMemory
938370Trisanu_DasPrisoner Challenge (IOI22_prison)C++17
72 / 100
15 ms1200 KiB
#include "bits/stdc++.h" #include "prison.h" using namespace std; #define ll int vector<vector<int> > devise_strategy(int N) { vector<vector<int> > s(24, vector<int>(N + 1, 0)); int v[6][4], mp[24], mp2[24], c = 1; for(int i = 0; i < 6; ++i){ for(int j = 0; j < 4; ++j){ if(i == 0 && j == 3) v[i][j] = 0; else{ mp[c] = j; v[i][j] = c++; } } } int ans[2] = {-1, -2}; s[0][0] = 1; for(int j = 1; j <= N; ++j){ int bit = (j >> 11)%4; s[0][j] = v[0][bit]; } for(int i = 1; i < 24; ++i){ int k = i / 4; s[i][0] = k & 1; for(int j = 1; j <= N; ++j){ int bit = (j >> (11 - 2 * k)) % 4; if(bit > mp[i]) s[i][j] = ans[1 - (k & 1)]; if(bit < mp[i]) s[i][j] = ans[k & 1]; if(bit == mp[i]){ bit = (j >> (9 - 2 * k)) % 4; if(k < 5) s[i][j] = v[k + 1][bit]; else if(j & 1) s[i][j] = ans[1 - (k & 1)]; else s[i][j] = ans[k & 1]; } } } return s; }

Compilation message (stderr)

prison.cpp: In function 'std::vector<std::vector<int> > devise_strategy(int)':
prison.cpp:9:23: warning: unused variable 'mp2' [-Wunused-variable]
    9 |  int v[6][4], mp[24], mp2[24], c = 1;
      |                       ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...