Submission #1210839

#TimeUsernameProblemLanguageResultExecution timeMemory
1210839NicolaikrobPrisoner Challenge (IOI22_prison)C++17
0 / 100
1 ms580 KiB
#include "prison.h" #include <bits/stdc++.h> using namespace std; vector<vector<int>> devise_strategy(int n) { vector<vector<int>> S; vector<int> TP(n+1, 0); TP[0] = 1; TP[1] = -1-TP[0]; TP[n] = -2+TP[0]; for(int j = 2; j < 2+(n-2)/2; j++) TP[j] = 1<<1; for(int j = 2+(n-2)/2; j < n; j++) TP[j] = (1<<1)+1; S.push_back(TP); int p, rs = 2; for(int x = 1; rs > 1; x++) { p = (x>>1)+1; TP[0] = p&1; rs = n; for(int i = 0; i < p-2; i++) rs = (rs+1)>>1; if(rs == 1) return S; for(int k = 0; k*rs < n; k++) { int l = k*rs+1, u = (k+1)*rs, m = l+rs/2; if(x&1) { for(int j = l; j <= m; j++) TP[j] = -1-TP[0]; for(int j = m+1; j < m+1+(u-m-1)/2; j++) TP[j] = (p<<1); for(int j = m+1+(u-m-1)/2; j < u-1; j++) TP[j] = (p<<1)+1; TP[u] = -2+TP[0]; } else { TP[l] = -1-TP[0]; for(int j = l+1; j < l+1+(m-l+1)/2; j++) TP[j] = (p<<1); for(int j = l+1+(m-l+1)/2; j < m; j++) TP[j] = (p<<1)+1; for(int j = m; j <= u; j++) TP[j] = -2+TP[0]; } } S.push_back(TP); } // for(int i = 0; i < n+1; i++) { // for(int j = 0; j < S.size(); j++) { // cout << S[j][n-i] << ' '; // } // cout << endl; // } // return S; }

Compilation message (stderr)

prison.cpp: In function 'std::vector<std::vector<int> > devise_strategy(int)':
prison.cpp:48:1: warning: control reaches end of non-void function [-Wreturn-type]
   48 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...