#include <iostream>
#include <vector>
#include <set>
#include <algorithm>
#include <map>
using namespace std;
std::vector<int> use_machine(std::vector<int> A);
vector<int> answer(const vector<int> &q, int x) {
vector<int> a = q;
for (auto &t : a)
t = t ^ x;
sort(a.begin(), a.end());
return a;
}
vector<int> find_permutation(int n) {
vector<int> q;
for (int t = 0; t <= n + 2; t++) {
if (t == 1 || t == 2 || t == 5)
continue;
q.push_back(t);
}
vector<int> a = use_machine(q);
vector<int> a_sorted = a;
sort(a_sorted.begin(), a_sorted.end());
int x = 0;
for (; x <= 255; x++) {
vector<int> b_sorted = answer(q, x);
if (a_sorted == b_sorted) {
break;
}
}
for (auto &t : a) {
t = t ^ x;
}
vector<int> final_answer(n);
for (int i = 0; i < n; i++) {
int j = q[i];
// find where j is in a
int k = 0;
for (; k < n && a[k] != j; k++) ;
final_answer[k] = i;
}
return final_answer;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |