# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1210740 | siewjh | Navigation 2 (JOI21_navigation2) | C++20 | 292 ms | 876 KiB |
#include "Anna.h"
#include <bits/stdc++.h>
using namespace std;
namespace {
} // namespace
void Anna(int N, int K, vector<int> R, vector<int> C) {
for (int i = 0; i < N; i++)
for (int j = 0; j < N; j++){
int id = (i % 3) * 3 + (j % 3);
if (id >= K){
SetFlag(i, j, 26); continue;
}
int r = R[id], c = C[id];
int rv, cv;
if (r <= i - 2) rv = 0;
else if (r == i - 1) rv = 1;
else if (r == i) rv = 2;
else if (r == i + 1) rv = 3;
else rv = 4;
if (c <= j - 2) cv = 0;
else if (c == j - 1) cv = 1;
else if (c == j) cv = 2;
else if (c == j + 1) cv = 3;
else cv = 4;
SetFlag(i, j, rv * 5 + cv + 1);
}
}
#include "Bruno.h"
#include <bits/stdc++.h>
using namespace std;
namespace {
int variable_example = 1;
} // namespace
vector<int> Bruno(int K, vector<int> value){
vector<int> ans(K);
int id;
for (int i = 0; i < 9; i += 3)
if (value[i] == 26 || value[i + 1] == 26 || value[i + 2] == 26){
if (value[i] != 26) id = (i + 3) % 9;
else if (value[i + 1] != 26) id = (i + 4) % 9;
else id = (i + 5) % 9;
}
int rid = id / 3, cid = id % 3;
for (int i = 0; i < K; i++){
int ridh = (rid + i / 3) % 3, cidh = (cid + i % 3) % 3, idh = ridh * 3 + cidh;
int rv = (value[idh] - 1) / 5, cv = (value[idh] - 1) % 5;
int dr = ridh, dc = cidh;
if (rv == 0) dr -= 2;
else if (rv == 1) dr--;
else if (rv == 3) dr++;
else if (rv == 4) dr += 2;
if (cv == 0) dc -= 2;
else if (cv == 1) dc--;
else if (cv == 3) dc++;
else if (cv == 4) dc += 2;
if (dr < 1) ans[i] = 3;
else if (dr > 1) ans[i] = 2;
else if (dc < 1) ans[i] = 1;
else if (dc > 1) ans[i] = 0;
else ans[i] = 4;
}
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |