# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1261109 | SzymonKrzywda | Question (Grader is different from the original contest) (CEOI14_question_grader) | C++20 | 718 ms | 39648 KiB |
#include <iostream>
#include <vector>
using namespace std;
bool wygen = 0;
vector<int> liczby;
void gen() {
wygen = 1;
const int K = 1 << 12;
for (int msk = 0; msk < K; msk++) {
int ile = 0;
for (int bit = 0; bit < 12; bit++) {
if ((1 << bit) & msk) ile++;
}
if (ile == 6) liczby.push_back(msk);
}
}
int encode (int n, int x, int y) {
if (!wygen) gen();
// for (int i = 0; i < 12; i++) {
// int bit = 0;
// if ((1 << i) & liczby[x]) bit = 1;
// cout << bit;
// }
// cout << '\n';
// for (int i = 0; i < 12; i++) {
// int bit = 0;
// if ((1 << i) & liczby[y]) bit = 1;
// cout << bit;
// }
// cout << '\n';
for (int i = 0; i < 12; i++) {
if (((1 << i) & liczby[x]) && !((1 << i) & liczby[y])) return i + 1;
}
}
#include <iostream>
#include <vector>
using namespace std;
bool wygen2 = 0;
vector<int> liczby2;
void gen2() {
wygen2 = 1;
const int K = 1 << 12;
for (int msk = 0; msk < K; msk++) {
int ile = 0;
for (int bit = 0; bit < 12; bit++) {
if ((1 << bit) & msk) ile++;
}
if (ile == 6) liczby2.push_back(msk);
}
}
int decode (int n, int q, int h) {
if (!wygen2) gen2();
h--;
// for (int i = 0; i < 12; i++) {
// int bit = 0;
// if ((1 << i) & q) bit = 1;
// cout << bit;
// }
// cout << '\n';
if (liczby2[q] & (1 << h)) return 1;
else return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |