# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1231298 | damamila | Navigation 2 (JOI21_navigation2) | C++20 | 322 ms | 876 KiB |
#include "Anna.h"
#include <bits/stdc++.h>
using namespace std;
namespace {
int mod = 3;
} // namespace
void Anna(int N, int K, std::vector<int> R, std::vector<int> C) {
for (int r = 0; r < N; r++) {
for (int c = 0; c < N; c++) {
int tmp = 0;
for (int i = 0; i < K; i++) {
int base = 1;
for (int j = 0; j < i; j++) base = base*mod;
if (r < R[i]) tmp += 0*base; //south
else if (r == R[i] && c == C[i]) tmp += 0*base;
else if (c >= C[i]) tmp += 1*base; //west
else tmp += 2*base; //west
//~ cerr << tmp/base << " ";
}
SetFlag(r, c, tmp+1);
//~ cerr << endl;
}
//~ cerr << endl;
}
}
#include "Bruno.h"
#include <bits/stdc++.h>
using namespace std;
namespace {
int mod = 3;
} // namespace
std::vector<int> Bruno(int K, std::vector<int> value) {
vector<int> res(K, 0);
for (int i = 0; i < 9; i++) value[i]--;
for (int i = 0; i < K; i++) {
vector<int> value2(9);
for (int j = 0; j < 9; j++) {
value2[j] = value[j]%mod;
value[j] /= mod;
//~ cerr << value2[j] << " ";
}
//~ cerr << endl;
//~ cerr << value2[4] << " " << value2[3] << " " << value2[5] << endl;
if (value2[4] == 0 && value2[3] != 0 && value2[5] != 0) res[i] = 4; //correct
else if (value2[4] == 0) res[i] = 2;
else if (value2[4] == 2) res[i] = 0;
else { //1
if (value2[3] == 2) res[i] = 3;
else res[i] = 1;
}
//~ cerr << res[i] << endl;
}
return res;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |