#include <string>
#include <vector>
#include <algorithm>
using namespace std;
static bool first_encode = true;
vector<vector<int> > perm_encode;
int encode(int n, int x, int y) {
if (first_encode) {
string perm = string(7, 'o') + string(7, 'x');
do {
vector<int> v;
for (int i = 0; i < 14; ++i) {
if (perm[i] == 'o') v.push_back(i);
}
perm_encode.push_back(v);
} while (next_permutation(perm.begin(), perm.end()));
first_encode = false;
}
vector<int> a = perm_encode[x];
vector<int> b = perm_encode[y];
for (int i : a) {
if (find(b.begin(), b.end(), i) == b.end()) {
return i + 1;
}
}
return -1;
}
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
static bool first_decode = true;
vector<vector<int> > perm_decode;
int decode(int n, int q, int h) {
if (first_decode) {
string perm = string(7, 'o') + string(7, 'x');
do {
vector<int> v;
for (int i = 0; i < 14; ++i) {
if (perm[i] == 'o') v.push_back(i);
}
perm_decode.push_back(v);
} while (next_permutation(perm.begin(), perm.end()));
first_decode = false;
}
vector<int> a = perm_decode[q];
if (find(a.begin(), a.end(), h - 1) != a.end()) return 1;
return 0;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Partially correct |
2423 ms |
79312 KB |
Output is partially correct - maxh = 14 |
2 |
Partially correct |
2215 ms |
79504 KB |
Output is partially correct - maxh = 14 |