Submission #888146

#TimeUsernameProblemLanguageResultExecution timeMemory
888146abcvuitunggioPrisoner Challenge (IOI22_prison)C++17
0 / 100
1 ms604 KiB
#include "prison.h" #include <vector> using namespace std; int pw[10]; vector <vector <int>> devise_strategy(int n){ pw[0]=1; for (int i=1;i<10;i++) pw[i]=pw[i-1]*3; vector <vector <int>> res(23,vector <int> (n+1,0)); for (int i=1;i<=n;i++) res[0][i]=(i/pw[7]%3)*8+1; for (int i=1;i<22;i++){ int b=(i-1)%8; res[i][0]=b&1^1; for (int j=1;j<=n;j++) if (j/pw[7-b]%3!=(i-1)/8) res[i][j]=(j/pw[7-b]%3<(i-1)/8?-1-res[i][0]:res[i][0]-2); else if (b<6) res[i][j]=(j/pw[6-b]%3)*8+b+2; else{ if (j%3==0) res[i][j]=-1-res[i][0]; if (j%3==2) res[i][j]=res[i][0]-2; if (j%3==1) res[i][j]=22; } } for (int i=1;i<=n;i++) res[22][i]=(i%3?-2:-1); return res; }

Compilation message (stderr)

prison.cpp: In function 'std::vector<std::vector<int> > devise_strategy(int)':
prison.cpp:14:20: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
   14 |         res[i][0]=b&1^1;
      |                   ~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...