#include "prison.h"
#include <bits/stdc++.h>
using namespace std;
bool cal(int val, int i) {
int cur=1;
while(cur<val) cur*=2;
int tar=1;
while(i--) tar*=2;
while(val != 0) {
if(val >= cur) {
val-=cur;
if(cur == tar) return true;
}
cur/=2;
}
return false;
}
vector<vector<int>> devise_strategy(int N) {
vector<vector<int>> s(39, vector<int>(N+1, 0));
for(int i=13; i<39; i++) s[i][0]=1;
for(int i=0; i<39; i++) {
int pow = 12-(i%13);
if(i < 13) {
for(int j=1; j<=N; j++) {
if(cal(j, pow)) s[i][j]=i+26;
else s[i][j]=i+13;
}
} else if(i < 26) {
for(int j=1; j<=N; j++) {
if(cal(j, pow)) s[i][j]=-1;
else s[i][j]=i-12;
}
} else {
for(int j=1; j<=N; j++) {
if(cal(j, pow)) s[i][j]=i-25;
else s[i][j]=-2;
}
}
}
return s;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |