Submission #1295251

#TimeUsernameProblemLanguageResultExecution timeMemory
1295251MMihalevPrisoner Challenge (IOI22_prison)C++20
0 / 100
1 ms340 KiB
#include<iostream> #include<algorithm> #include<vector> #include "prison.h" using namespace std; int bitval(int bit,int num,int base) { vector<int>tobase; while(num!=0) { tobase.push_back(num%base); num/=base; } return tobase[bit]; } std::vector<std::vector<int>> devise_strategy(int N) { int n=N; vector<vector<int>>s; s.resize(25); for(int i=0;i<=24;i++)s[i].resize(n+1); s[0][0]=0; for(int j=1;j<=n;j++) { s[0][j]=bitval(7,j,3)+1; } for(int i=1;i<=22;i+=3) { s[i][0]=(i+2)/3; int bit=7-s[i][0]; s[i][0]=s[i][0]%2; s[i+1][0]=s[i][0]; for(int j=1;j<=n;j++) { int valcheck=bitval(bit+1,j,3); if(valcheck==2) { s[i][j]=(abs(bit)%2==1 ? -1 : -2); s[i+1][j]=(abs(bit)%2==1 ? -1 : -2); s[i+2][j]=min(24,bitval(bit,j,3)+i+3); } else if(valcheck==1) { s[i][j]=(abs(bit)%2==1 ? -1 : -2); s[i+1][j]=min(24,bitval(bit,j,3)+i+3); s[i+2][j]=(abs(bit)%2==1 ? -2 : -1); } else { s[i][j]=min(24,bitval(bit,j,3)+i+3); s[i+1][j]=(abs(bit)%2==1 ? -2 : -1); s[i+2][j]=(abs(bit)%2==1 ? -2 : -1); } } } return s; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...