Submission #786936

#TimeUsernameProblemLanguageResultExecution timeMemory
786936andrei_boacaPrisoner Challenge (IOI22_prison)C++17
30 / 100
22 ms2152 KiB
#include <bits/stdc++.h> #include "prison.h" //#include "grader.cpp" using namespace std; std::vector<std::vector<int>> devise_strategy(int N) { int n=N; vector<vector<int>> sol; for(int board=0;board<=55;board++) { vector<int> v; if(board==0) { v.push_back(0); int bit=13; int val=13*4; for(int i=1;i<=n;i++) { if((i>>(bit-1))&1) v.push_back(val+1); else v.push_back(val); } sol.push_back(v); continue; } int bit=0; for(int i=5;i>=2;i--) { int x=((board>>i)&1); bit=bit*2+x; } if(bit==0) { for(int i=1;i<=n+1;i++) v.push_back(0); sol.push_back(v); continue; } int who=((board>>1)&1); int bitval=(board&1); if(who==0) { v.push_back(1); for(int i=1;i<=n;i++) { int x=((i>>(bit-1))&1); if(x<bitval) { v.push_back(-2); continue; } if(x>bitval) { v.push_back(-1); continue; } int val=(bit*2+1)*2+x; v.push_back(val); } sol.push_back(v); continue; } v.push_back(0); bit--; for(int i=1;i<=n;i++) { int x=((i>>(bit-1))&1); int val=bit*4+x; v.push_back(val); } sol.push_back(v); } return sol; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...