제출 #1161988

#제출 시각아이디문제언어결과실행 시간메모리
1161988MrDogMeatUnscrambling a Messy Bug (IOI16_messy)C++20
100 / 100
2 ms584 KiB
#include<bits/stdc++.h>
using namespace std;

void add_element(std::string x);
bool check_element(std::string x);
void compile_set();

vector<int> Answer;

void solve(int n, int l, int r, vector<int> subset) {
    cerr << l << " " << r << "\n";
    if(l == r) {
        Answer[subset[0]] = l;
        return;
    }
    string bits(n, '1');
    for(int e : subset) {
        bits[e] = '0';
    }
    vector<int> subsetL, subsetR;
    for(int e : subset) {
        bits[e] = '1';
        if(check_element(bits)) {
            subsetL.push_back(e);
        }
        else {
            subsetR.push_back(e);
        }
        bits[e] = '0';
    }
    int mid = (l + r) / 2;
    solve(n, l, mid, subsetL);
    solve(n, mid + 1, r, subsetR);
}

std::vector<int> restore_permutation(int n, int w, int r) {
    for(int pw2 = 2; pw2 <= n; pw2 *= 2) {
        for(int i = 0; i + pw2 - 1 < n; i += pw2) {
            string bits(n, '1');
            for(int j = 0; j < pw2; j++) {
                bits[i + j] = '0';
            }
            for(int j = 0; j < pw2/2; j++) {
                bits[i + j] = '1';
                add_element(bits);
                cerr << bits << "\n";
                bits[i + j] = '0';
            }
        }
    }
    compile_set();
    vector<int> vcc;
    for(int i = 0; i < n; i++) {
        vcc.push_back(i);
    }
    Answer.resize(n);
    solve(n, 0, n - 1, vcc);
    return Answer;
}

컴파일 시 표준 에러 (stderr) 메시지

messy.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
messy_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#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...