Submission #1172020

#TimeUsernameProblemLanguageResultExecution timeMemory
1172020fryingducMachine (IOI24_machine)C++20
100 / 100
42 ms448 KiB
#include "machine.h" #include "bits/stdc++.h" using namespace std; #ifdef duc_debug #include "bits/debug.h" #else #define debug(...) #endif vector<int> find_permutation(int N) { int n = N; if (n & 1) { vector<int> a(n); iota(a.begin(), a.end(), 0); vector<int> b = use_machine(a); int x = 0; for (int i = 0; i < n; ++i) { bool flag = 0; for (int j = 0; j < n; ++j) { if (i == j) continue; if ((b[i] ^ b[j]) == 1) { flag = 1; break; } } if (!flag) { x = b[i] ^ (n - 1); break; } } vector<int> rev(n); for (int i = 0; i < n; ++i) { b[i] ^= x; } return b; } else { vector<int> a(n); iota(a.begin(), a.end(), 1); a[n - 1] = n + 2; vector<int> b = use_machine(a); for (int x = 0; x < 256; ++x) { vector<int> c = b; for (auto &i : c) i ^= x; sort(c.begin(), c.end()); if (c == a) { for (auto &i : b) { i ^= x; if (i == n + 2) i = n; --i; } return b; } } } }

Compilation message (stderr)

machine.cpp: In function 'std::vector<int> find_permutation(int)':
machine.cpp:58:1: warning: control reaches end of non-void function [-Wreturn-type]
   58 | }
      | ^
#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...