#include <vector>
#include <string>
#include "messy.h"
using namespace std;
std::vector<int> restore_permutation(int n, int w, int r) {
// n = 8
add_element("11110000");
add_element("11001100");
add_element("10101010");
compile_set();
bool size4 = check_element("11110000");
bool size2 = check_element("11001100");
bool size1 = check_element("10101010");
vector<int> ret = { 0, 1, 2, 3, 4, 5, 6, 7 };
// Hard code bc lazy
if (size4) { // Same case
if (size2) { // Same case
if (size1) { // Same case
// do nothing
}
else { // Split case
if (check_element("01101010")) swap(ret[0], ret[1]);
else if (check_element("10011010")) swap(ret[2], ret[3]);
else if (check_element("10100110")) swap(ret[4], ret[5]);
else swap(ret[6], ret[7]);
}
}
else { // Split case
if (size1) { // Same case
if (check_element("01101100")) swap(ret[0], ret[2]);
else if (check_element("10011100")) swap(ret[1], ret[3]);
else if (check_element("11000110")) swap(ret[4], ret[6]);
else swap(ret[5], ret[7]);
}
else { // Split case
if (check_element("00111100")) swap(ret[0], ret[3]);
else if (check_element("10101100")) swap(ret[1], ret[2]);
else if (check_element("11000011")) swap(ret[4], ret[7]);
else swap(ret[5], ret[6]);
}
}
}
else { // Split case
if (size2) { // Same case
if (size1) { // Same case
if (check_element("01111000")) swap(ret[0], ret[4]);
else if (check_element("10110100")) swap(ret[1], ret[5]);
else if (check_element("11010010")) swap(ret[2], ret[6]);
else swap(ret[3], ret[7]);
}
else { // Split case
if (check_element("00101110")) swap(ret[0], ret[5]);
else if (check_element("11100010")) swap(ret[1], ret[4]);
else if (check_element("10001011")) swap(ret[2], ret[7]);
else swap(ret[3], ret[6]);
}
}
else { // Split case
if (size1) { // Same case
if (check_element("01001110")) swap(ret[0], ret[6]);
else if (check_element("10001101")) swap(ret[1], ret[7]);
else if (check_element("11100100")) swap(ret[2], ret[4]);
else swap(ret[3], ret[5]);
}
else { // Split case
if (check_element("00101011")) swap(ret[0], ret[7]);
else if (check_element("11101000")) swap(ret[1], ret[6]);
else if (check_element("10001110")) swap(ret[2], ret[5]);
else swap(ret[3], ret[4]);
}
}
}
return ret;
}
Compilation message (stderr)
messy.h:1:9: warning: #pragma once in main file
1 | #pragma once
| ^~~~
messy_c.h:1:9: warning: #pragma once in main file
1 | #pragma once
| ^~~~
# | 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... |