이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "prison.h"
#include <bits/stdc++.h>
using namespace std;
#include <vector>
std::vector<std::vector<int>> devise_strategy(int N) {
vector<vector<int>> v;
v.resize(3 * 8 - 1, vector<int> (N + 1));
int x = 2187, t = 1;
for(int i = 1; i <= N; i++) {
v[0][i] = i / x + 1;
}
for(int i = 1; i <= 24; i += 3) {
// i , i + 1, i + 3 --- eseni aris
for(int T = 0; T < 3; T++) {
if(i + T > 22) continue;
v[i + T][0] = t;
for(int j = 1; j <= N; j++) {
if(x == 1 || (j % (x * 3)) / x != T) {
if(x != 1)
v[i + T][j] = ((j % (x * 3)) / x < T ? -t - 1 : -(1 - t) - 1);
else v[i + T][j] = (j % 3 == 0 ? -t - 1 : -(1 - t) - 1);
} else {
if(x > 3 || (x == 3 && ((j % x) / (x / 3)) == 1))
v[i + T][j] = (x > 3 ? i + 3 + ((j % x) / (x / 3)) : 22);
else if(x == 3 && ((j % x) / (x / 3)) == 2) v[i + T][j] = -(1 - t) - 1;
else if(x == 3 && ((j % x) / (x / 3)) == 0) v[i + T][j] = -t - 1;
}
}
}
x /= 3; t ^= 1;
}
return v;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |