제출 #1228860

#제출 시각아이디문제언어결과실행 시간메모리
1228860olnyfcxwpsMachine (IOI24_machine)C++20
100 / 100
30 ms444 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...