# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1244814 | SpyrosAliv | Unscrambling a Messy Bug (IOI16_messy) | C++20 | 1 ms | 328 KiB |
#include <bits/stdc++.h>
#include "messy.h"
using namespace std;
vector<int> get_ans(string s) {
int n = s.size();
vector<int> ans(n);
for (int i = 0; i < n; i++) ans[i] = i;
for (int i = 0; i < n; i++) {
for (int j = i+1; j < n; j++) {
if (s[i] == s[j]) continue;
swap(s[i], s[j]);
if (check_element(s)) {
swap(ans[i], ans[j]);
return ans;
}
swap(s[i], s[j]);
}
}
return ans;
}
std::vector<int> restore_permutation(int n, int w, int r) {
string s;
for (int i = 0; i < n; i++) {
s += '0';
}
for (int i = 0; i < n-1; i++) {
s[i] = '1';
add_element(s);
}
compile_set();
for (int i = 0; i < n-1; i++) {
s[i] = '1';
if (check_element(s)) continue;
return get_ans(s);
}
vector<int> perm(n);
for (int i = 0; i < n; i++) perm[i] = i;
return perm;
}
Compilation message (stderr)
# | 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... |