Submission #47314

#TimeUsernameProblemLanguageResultExecution timeMemory
47314TAMREFUnscrambling a Messy Bug (IOI16_messy)C++11
38 / 100
3 ms384 KiB
#include <bits/stdc++.h>
#include "messy.h"

using namespace std;

int b;
vector<int> pp;
bool mark[128];

vector<int> restore_permutation(int n, int w, int r) {
    string S;
    pp.resize(n);
    for(int i = 0; i < n; i++) pp[i] = -1;

    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();
    S.clear();
    for(int i = 0; i < n; i++) S += '0';
    for(int dig = 1; dig < n; dig++){
        for(int i = 0; i < n; i++){
            if(S[i] == '1') continue;
            S[i] = '1';
            if(check_element(S)){
                pp[dig-1] = i;
                mark[i] = 1;
                break;
            }
            S[i] = '0';
        }
    }
    for(int i = 0; i < n; i++){
        if(!mark[i]) pp[n-1] = i;
    }
    vector<int> qq(n);
    for(int i = 0; i < n; i++) qq[pp[i]] = i;
    return qq;
}
#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...