제출 #276305

#제출 시각아이디문제언어결과실행 시간메모리
276305brcodeUnscrambling a Messy Bug (IOI16_messy)C++14
20 / 100
2 ms416 KiB
#include <iostream>
#include <bits/stdc++.h>
#include "messy.h"
using namespace std;
const int MAXN = 5010;
bool blocked[MAXN];
set<int> s1;
vector<int> v1;
vector<int> restore_permutation(int bits,int r,int w){
    vector<int> p(bits);
    string s="";
    s+='1';
    for(int i=2;i<=bits;i++){
        s+='0';
    }
    add_element(s);
    for(int i=1;i<bits;i++){
        s[i] = '1';
        add_element(s);
    }
    compile_set();
    s = "";
    for(int i=1;i<=bits;i++){
        s+='0';
    }
    for(int i=0;i<bits;i++){
        s1.insert(i);
    }
    for(int i=0;i<bits;i++){
        int currbit = *(s1.begin());
        int t = 1;
        for(int x:s1){
            if(t==1){
                t=0;
                continue;
            }
            s[x] = '1';
            if(check_element(s)){
                s1.erase(x);
                currbit = x;
                p[i] = x;
                break;
            }
            s[x] = '0';
        }
        if(s1.size() && currbit ==(*s1.begin())){
            p[i] = currbit;
            s1.erase(s1.begin());
            s[currbit] = '1';
        }
    }
    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...