제출 #1011198

#제출 시각아이디문제언어결과실행 시간메모리
1011198MardonbekhazratovUnscrambling a Messy Bug (IOI16_messy)C++17
0 / 100
1 ms436 KiB
#include <bits/stdc++.h>

#include "messy.h"

using namespace std;

vector<int> restore_permutation(int n, int w, int r) {
    string s=string(n,'0');
    for(int i=0;i<n;i++){
        s[i]='1';
        add_element(s);
    }
    compile_set();
    s=string(n,'0');
    vector<int>p(n,-1);
    int mn=0;
    for(int i=0;i<n;i++){
        while(s[mn]=='1') mn++;
        s[mn]='1';
        int last=mn;
        for(int j=mn+1;j<n;j++){
            if(s[j]=='1'){
                if(j==n-1) p[mn]=i,swap(s[last],s[mn]);
                continue;
            }
            swap(s[j],s[last]);
            last=j;
            bool ok=check_element(s);
            if(ok){
                // cout<<j<<' ';
                p[j]=i;
                break;
            }
            if(j==n-1) p[mn]=i,swap(s[last],s[mn]);
        }
        // cout<<s<<'\n';
    }
    return p;
}
#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...