Submission #100969

#TimeUsernameProblemLanguageResultExecution timeMemory
100969square1001질문 (CEOI14_question_grader)C++14
60 / 100
2423 ms79504 KiB
#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; }
#Verdict Execution timeMemoryGrader output
Fetching results...