Submission #1226241

#TimeUsernameProblemLanguageResultExecution timeMemory
1226241eriksuenderhaufNavigation 2 (JOI21_navigation2)C++20
85 / 100
281 ms932 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) { vector<vector<int>> arr(N, vector<int>(N, 0)); for (int r = 0; r < N; r++) { for (int c = 0; c < N; c++) { int i = (r % 3) * 3 + (c % 3); if (i == 0) { arr[r][c] = 1; continue; } if (i == 8) { arr[r][c] = 2; continue; } int d = max(abs(R[i - 1] - r), abs(C[i - 1] - c)); int v; if (d <= 1) { v = (R[i - 1] - r + 1) * 3 + (C[i - 1] - c + 1) + 6; } else { v = 2; if (R[i - 1] > r + 1) v += 2; else if (R[i - 1] < r - 1) v += 3; else if (C[i - 1] > c + 1) v += 0; else if (C[i - 1] < c - 1) v += 1; } arr[r][c] = v; } } vector<int> used(15); for (int r = 0; r < N; r++) for (int c = 0; c < N; c++) used[arr[r][c]] = 1; int x = 6; for (int i = 14; i >= 6; i--) if (!used[i]) x = i; if (x != 14) { for (int r = 0; r < N; r++) for (int c = 0; c < N; c++) { int i = (r % 3) * 3 + (c % 3); if (i == 8) arr[r][c] = x; if (arr[r][c] > x) arr[r][c]--; } } for (int r = 0; r < N; r++) for (int c = 0; c < N; c++) SetFlag(r, c, arr[r][c]); }
#include "Bruno.h" #include <bits/stdc++.h> using namespace std; namespace { } // namespace vector<int> Bruno(int K, vector<int> value) { int r, c, cur_r, cur_c; for (int i = 0; i < 9; i++) { if (value[i] == 1) { r = i / 3; c = i % 3; cur_r = r + 1 - i / 3; cur_c = c + 1 - (i % 3); break; } } int unused = value[3 * ((r + 2) % 3) + (c + 2) % 3]; if (unused < 6) unused = 14; vector<int> res(K, 0); for (int i = 0; i < K; i++) { int cc = (c + i + 1) % 3; int rr = (r + (i + 1) / 3) % 3; int v = value[3 * rr + cc]; if (v >= 6) { v += v >= unused; v -= 6; int dc = v % 3 - 1; int dr = v / 3 - 1; cc += dc; rr += dr; if (rr > cur_r) v = 2; else if (rr < cur_r) v = 3; else if (cc > cur_c) v = 0; else if (cc < cur_c) v = 1; else v = 4; } else { v -= 2; } res[i] = v; } return res; }
#Verdict Execution timeMemoryGrader output
Fetching results...