이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "bits/stdc++.h"
#include "prison.h"
#define all(v) v.begin() , v.end()
#define sz(a) (int)a.size()
using namespace std;
int check(int a,int j){
return a>>j&1;
}
vector<vector<int>> devise_strategy(int N) {
vector<vector<int>> v(25,vector<int>(N+1,0));
v[0][0]=0;
for(int i=1;i<=N;i++) v[0][i]=1+check(i,12);
for(int i=1;i<=24;i++){
if((i-1)%4<=1) v[i][0]=1;
else v[i][0]=0;
}
for(int j=12;j>=1;j--){
for(int i=1;i<=N;i++){
int xd=check(i,j);
int xd2=!check(i,j-1);
if(xd){
if(j>1) v[(13-j)*2][i]=(14-j)*2-xd2;
else if(check(i,j-1)) v[(13-j)*2][i]=-2;
else v[(13-j)*2][i]=-1;
if(!(j&1)) v[(13-j)*2-1][i]=-1;
else v[(13-j)*2-1][i]=-2;
}
else{
if(!(j&1)) v[(13-j)*2][i]=-2;
else v[(13-j)*2][i]=-1;
if(j==1){
if(check(i,j-1)) v[(13-j)*2-1][i]=-2;
else v[(13-j)*2-1][i]=-1;
}
else v[(13-j)*2-1][i]=(14-j)*2-xd2;
}
}
}
return v;
}
/*void _(){
}
int32_t main(){
cin.tie(0); ios::sync_with_stdio(0);
int tc=1;//cin >> tc;
while(tc--) _();
return 0;
}*/
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |