Submission #1300980

#TimeUsernameProblemLanguageResultExecution timeMemory
1300980PakinDioxideUnscrambling a Messy Bug (IOI16_messy)C++17
Compilation error
0 ms0 KiB
#include "messy.h"
#include <bits/stdc++.h>

using namespace std;

static int ans[128], n;

void dnc1(int l, int r) {
    if (r - l == 1) return;
    int m = l + (r-l)/2;
    char s[n+1]; s[n] = 0;
    for (int i = 0; i < l; i++) s[i] = '1';
    for (int i = l; i < r; i++) s[i] = '0';
    for (int i = r; i < n; i++) s[i] = '1';
    for (int i = l; i < m; i++) {
        s[i] = '1';
        add_element(s);
        s[i] = '0';
    }
    dnc1(l, m), dnc1(m, r);
}

void dnc2(int l, int r, vector <int> A) {
    if (r - l == 1) { ans[l] = A[0]; return; }
    int m = l + (r-l)/2;
    char s[n+1]; s[n] = 0;
    for (int i = 0; i < n; i++) s[i] = '1';
    for (auto &e : A) s[e] = '0';
    vector <int> L, R;
    for (auto &e : A) {
        s[e] = '1';
        if (check_element(s)) L.emplace_back(e);
        else R.emplace_back(e);
        s[e] = '0';
    }
    dnc2(l, m, L), dnc2(m, r, R);
}

void restore_permutation(int N, int w, int r, int* result) {
    n = N;
    dnc1(0, n);
    compile_set();
    vector <int> X; for (int i = 0; i < n; i++) X.emplace_back(i);
    dnc2(0, n, X);
    for (int i = 0; i < n; i++) result[ans[i]] = i;
}

/*
check which N/2 bits 
*/

Compilation message (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
      |         ^~~~
/usr/bin/ld: /tmp/cclTrFAO.o: in function `main':
grader.cpp:(.text.startup+0x16f): undefined reference to `restore_permutation(int, int, int)'
collect2: error: ld returned 1 exit status