제출 #421121

#제출 시각아이디문제언어결과실행 시간메모리
421121dxz05Unscrambling a Messy Bug (IOI16_messy)C++14
38 / 100
1 ms332 KiB
#include <bits/stdc++.h>
#include "messy.h"

using namespace std;

vector<int> restore_permutation(int n, int w, int r) {
    srand(time(NULL));
    string s(n, '0');
    for (int i = 0; i < n; i++){
        s[i] = '1';
        add_element(s);
    }

    vector<int> p(n, -1), q(n, -1);

    compile_set();

    s = string(n, '0');
    for (int i = 0; i < n; i++){
        s[i] = '1';
        string t(n, '0');
        for (int j = 0; j < i; j++){
            t[q[j]] = '1';
        }

        vector<int> perm(n);
        for (int j = 0; j < n; j++) perm[j] = j;

        random_shuffle(perm.begin(), perm.end());

        for (int j : perm){
            if (t[j] == '1') continue;
            t[j] = '1';

            if (check_element(t)){
                p[j] = i;
                q[i] = j;
                break;
            }

            t[j] = '0';
        }

    }

    return p;
}

/*
8 256 256
0 1 5 3 4 2 6 7

*/
#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...