제출 #1261530

#제출 시각아이디문제언어결과실행 시간메모리
1261530software1146Machine (IOI24_machine)C++17
100 / 100
44 ms452 KiB
#include "machine.h" #include <bits/stdc++.h> using namespace std; #define sz(x) (int)(x.size()) #define all(x) (x).begin(), (x).end() #define rall(x) (x).rbegin(), (x).rend() #define pb push_back #define mp make_pair #define fi first #define se second #define cmin(a, b) a = min(a, b) #define cmax(a, b) a = max(a, b) bool works(vector<int> &a, vector<int> &b, int x) { vector<int> c; for (auto u : b) { c.pb(x^u); } sort(all(c)); return (a == c); } vector<bool> ok(256, 0); vector<int> find_permutation(int n) { vector<int> a(n), p(n); iota(all(a), 1); a.back() += 2; vector<int> b = use_machine(a); int xr = 0; for (int x = 0; x < 256; x++) { if (works(a, b, x)) { xr = x; break; } } for (int i = 0; i < n; i++) { p[i] = xr^b[i]; } for (auto &u : p) u--; p[max_element(all(p)) - p.begin()] -= 2; return p; }
#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...