Submission #391327

#TimeUsernameProblemLanguageResultExecution timeMemory
391327MlxaNavigation 2 (JOI21_navigation2)C++17
37 / 100
1052 ms824 KiB
#include "Anna.h" #include <bits/stdc++.h> using namespace std; bool bit[8]; void smth(int i, int j) { int msk = 0; for (int i = 0; i < 8; ++i) { if (bit[i]) { msk |= (1 << i); } } SetFlag(i, j, msk + 1); } 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) { bit[7] = (i + j) % 2; for (int t = 0; t < 7; ++t) { int x = r[t], y = c[t]; bool eq = (i / 2 + j / 2) % 2; if (bit[7]) { bit[t] = i < x || (i == x && eq); } else { bit[t] = j < y || (j == y && eq); } } smth(i, j); } } }
#include "Bruno.h" #include <bits/stdc++.h> using namespace std; /* bit[7] = (i + j) % 2; for (int t = 0; t < 7; ++t) { int x = r[t], y = c[t]; if (bit[7]) { bit[t] = i <= x; } else { bit[t] = j <= y; } } */ bool bit(int m, int i) { --m; return (m >> i) & 1; } vector<int> Bruno(int k, vector<int> value) { vector<int> answer; if (bit(value[4], 7)) { // for (int i = 0; i < 3; ++i) { // for (int j = 0; j < 3; ++j) { // cout << bit(value[3 * i + j], 0) << " "; // } // cout << endl; // } for (int i = 0; i < 7; ++i) { if (!bit(value[0], i) || !bit(value[2], i)) { answer.push_back(3); } else if (bit(value[6], i) || bit(value[8], i)) { answer.push_back(2); } else if (bit(value[1], i) && bit(value[7], i)) { answer.push_back(0); } else if (!bit(value[7], i) && !bit(value[1], i)) { answer.push_back(1); } else { answer.push_back(4); } } } else { for (int i = 0; i < 7; ++i) { if (!bit(value[0], i) || !bit(value[6], i)) { answer.push_back(1); } else if (bit(value[8], i) || bit(value[2], i)) { answer.push_back(0); } else if (bit(value[3], i) && bit(value[5], i)) { answer.push_back(2); } else if (!bit(value[5], i) && !bit(value[3], i)) { answer.push_back(3); } else { answer.push_back(4); } } } return answer; }
#Verdict Execution timeMemoryGrader output
Fetching results...