Submission #617452

#TimeUsernameProblemLanguageResultExecution timeMemory
617452A_DUnscrambling a Messy Bug (IOI16_messy)C++14
38 / 100
1 ms340 KiB
#include <bits/stdc++.h>

#include "messy.h"

using namespace std;


vector<int> restore_permutation(int n, int w, int r){

    srand(3121657);




    string s(n,'0');
    for(int i=0;i<n-1;i++){
        s[i]='1';
        add_element(s);
    //    cout<<s<<"\n";
    }
    vector<int> vec(n);
    compile_set();
    string ans(n,'0');
  //  cout<<"\n";
    set<int> st;
    for(int i=0;i<n;i++){
        st.insert(i);
    }
    for(int i=0;i<n-1;i++){
        vector<int> idx(n);
        for(int j=0;j<n;j++)idx[j]=j;
        random_shuffle(idx.begin(),idx.end());
        for(int j=0;j<n;j++){
            if(ans[idx[j]]=='1')continue;
            ans[idx[j]]='1';
            if(check_element(ans)==1){
//                cout<<ans<<"\n";
                vec[idx[j]]=i;
                st.erase(idx[j]);
                break;
            }
            ans[idx[j]]='0';
        }
    }
    vec[*st.begin()]=n-1;
    return vec;
}
#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...