제출 #1226181

#제출 시각아이디문제언어결과실행 시간메모리
1226181eriksuenderhaufNavigation 2 (JOI21_navigation2)C++20
0 / 100
0 ms816 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 r = 0; r < N; r++) { for (int c = 0; c < N; c++) { int i = (r % 3) * 3 + (c % 3); if (i == 0) { SetFlag(r, c, 1); continue; } if (i == 8) { SetFlag(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) + 2; } else { v = 11; if (R[i - 1] > r) v += 2; else if (R[i - 1] < r) v += 3; else if (C[i - 1] > c) v += 0; else if (C[i - 1] < c) v += 1; } SetFlag(r, c, v); } } }
#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; } } 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 (2 <= v && v < 11) { v -= 2; 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 -= 11; } res[i] = v; } return res; }
#Verdict Execution timeMemoryGrader output
Fetching results...