Submission #888142

#TimeUsernameProblemLanguageResultExecution timeMemory
888142abcvuitunggioPrisoner Challenge (IOI22_prison)C++17
65 / 100
10 ms1116 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(25,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<25;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<7) res[i][j]=(j/pw[6-b]%3)*8+b+2; } 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...