제출 #813877

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

using namespace std;

vector<int> restore_permutation(int n, int w, int r) 
{
    vector<int> ans(n, -1);
    string tmp(n, '0');
    for (int i = 0; i < n / 2; i++) {
        tmp[i] = '1';
        add_element(tmp);
        tmp[i] = '0';
    }
    for (int i = n / 2; i < n; i++) tmp[i] = '1';
    for (int i = 0; i < n / 2; i++) {
        tmp[i] = '1';
        add_element(tmp);
    }
    tmp = string(n, '0');
    for (int i = 0; i < n / 2; i++) {
        tmp[i] = '1';
    }
    for (int i = n / 2; i < n; i++) {
        tmp[i] = '1';
        add_element(tmp);
    }
    compile_set();
    string ttmp = string(n, '0');
    tmp = string(n, '0');
    for (int i = 0; i < n; i++) {
        ttmp[i] = '1';
        if (check_element(ttmp)) tmp[i] = '1'; 
        ttmp[i] = '0';
    }
    for (int i = n / 2; i < n; i++) {
        for (int j = 0; j < n; j++) {
            if (tmp[j] == '1') continue;
            tmp[j] = '1';
            if (check_element(tmp)) {
                ans[j] = i;
                break;
            }
            tmp[j] = '0';
        }
    }
    tmp = string(n, '0');
    for (int i = 0; i < n; i++) {
        if (ans[i] != -1) tmp[i] = '1';
    }
    for (int i = 0; i < n / 2; i++) {
        for (int j = 0; j < n; j++) {
            if (tmp[j] == '1') continue;
            tmp[j] = '1';
            if (check_element(tmp)) {
                ans[j] = i;
                break;
            }
            tmp[j] = '0';
        }
    }
    return ans;
}
#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...