# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
436177 | 2qbingxuan | Navigation 2 (JOI21_navigation2) | C++17 | 892 ms | 848 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "Anna.h"
#include <bits/stdc++.h>
using namespace std;
namespace {
} // namespace
void Anna(int N, int K, std::vector<int> R, std::vector<int> C) {
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
int flag = 0;
for (int k = 0; k < K; k++) {
if ((i+j)%2 == 0 && R[k] <= i)
flag |= 1 << k;
if ((i+j)%2 == 1 && C[k] <= j)
flag |= 1 << k;
}
flag = flag * 2 + ((i+j)%2);
SetFlag(i, j, flag+1);
}
}
}
#include "Bruno.h"
#include <bits/stdc++.h>
using namespace std;
namespace {
// int variable_example = 1;
} // namespace
std::vector<int> Bruno(int K, std::vector<int> value) {
for (int &x: value) --x;
int par = value[4] & 1;
for (int &x: value) x >>= 1;
std::vector<int> res(K);
for (int i = 0; i < K; i++) {
vector<int> cur(9);
for (int j = 0; j < 9; j++) cur[j] = value[j] >> i & 1;
int xdir = 0, ydir = 0;
if (!par) {
if (!cur[4]) {
xdir = 1;
}
if (cur[0]) {
xdir = -1;
}
if (!cur[1]) {
ydir = 1;
}
if (cur[3]) {
ydir = -1;
}
} else {
if (!cur[3]) {
xdir = 1;
}
if (cur[1]) {
xdir = -1;
}
if (!cur[4]) {
ydir = 1;
}
if (cur[0]) {
ydir = -1;
}
}
if (ydir == 1) {
res[i] = 0;
} else if (ydir == -1) {
res[i] = 1;
} else if (xdir == 1) {
res[i] = 2;
} else if (xdir == -1) {
res[i] = 3;
} else if (xdir == 0 && ydir == 0) {
res[i] = 4;
} else
abort();
}
return res;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |