제출 #1224631

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

using namespace std;

using vi = vector<int>;

vi restore_permutation(int n, int w, int r) {
    random_device rd;
    mt19937 engine(rd());

    vi indices(n); iota(indices.begin(), indices.end(), 0);
    shuffle(indices.begin(), indices.end(), engine);
    int W = 0, R = 0;

    string cur = ""; for (int i = 0; i < n; i++) cur += "0";
    for (int idx = 0; idx < n; idx++) {
        int i = indices[idx];

        cur[i] = '1';
        add_element(cur);
        W++;
    }

    compile_set();

    vi ans(n, -1);
    string test_str = ""; for (int i = 0; i < n; i++) test_str += "0";
    for (int bi = 0; bi < n; bi++) {
        int bit = indices[bi];

        for (int lo = 0; lo < n; lo++) {
            int loc = indices[lo];
            
            if (test_str[loc] != '0') continue;
            test_str[loc] = '1';

            R++;
            if (check_element(test_str)) {
                ans[loc] = bit;
                break;
            }

            test_str[loc] = '0';
        }
    }

    // cout << "W = " << W << " R = " << R << "\n";
    return ans;
}

컴파일 시 표준 에러 (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...