이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "prison.h"
#include <bits/stdc++.h>
using namespace std;
int n;
vector <vector <int>> res(22);
void f(int l, int r, int st, int i, int b){
if (l>r)
return;
res[i][0]=b;
res[i][l]=-1-b;
res[i][r]=b-2;
if (l+1>r-1)
return;
int d=(r-l+1)/3;
for (int j=l+1;j<=l+d;j++){
res[i][j]=st;
for (int k=l+d+1;k<r;k++)
res[st][k]=-1-b;
}
for (int j=l+d+1;j<=l+d*2;j++){
res[i][j]=st+1;
for (int k=l+1;k<=l+d;k++)
res[st+1][k]=b-2;
for (int k=l+d*2+1;k<r;k++)
res[st+1][k]=-1-b;
}
for (int j=l+d*2+1;j<r;j++){
res[i][j]=st+2;
for (int k=l+1;k<=l+d*2;k++)
res[st+2][k]=b-2;
}
f(l+1,l+d,st+3,st,b^1);
f(l+d+1,l+d*2,st+3,st+1,b^1);
f(l+d*2+1,r-1,st+3,st+2,b^1);
}
vector <vector <int>> devise_strategy(int N){
n=N;
for (int i=0;i<22;i++)
res[i]=vector <int> (n+1,0);
f(1,n,1,0,0);
return res;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |