Submission #624223

#TimeUsernameProblemLanguageResultExecution timeMemory
624223Dan4LifeUnscrambling a Messy Bug (IOI16_messy)C++17
20 / 100
1 ms340 KiB
#include <bits/stdc++.h>
#include "messy.h"
using namespace std;
#define all(a) a.begin(),a.end()

bool chk(vector<int> &a, int x, int y){
    int n = (int)a.size();
    string s = "";  bool ok = true;
    for(int i = 0; i < n; i++) s+='0';
    for(int i = n-1; i > 0; i--){
        s[i]='1';
        swap(s[x],s[y]);
        ok&=check_element(s);
        swap(s[x],s[y]);
    }
    return ok;
}

vector<int> restore_permutation(int n, int w, int r) {
    string s = "";
    for(int i = 0; i < n; i++) s+='0';
    for(int i = n-1; i > 0; i--)
        s[i]='1', add_element(s);
    compile_set();
    vector<int> a(n,0); iota(all(a),0);
    for(int i = 0; i < n; i++){
        for(int j = i+1; j < n; j++){
            swap(a[i],a[j]);
            if(chk(a,i,j)) return a;
            swap(a[i],a[j]);
        }
    }
    return a;
}
#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...