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