Submission #1353916

#TimeUsernameProblemLanguageResultExecution timeMemory
1353916nagorn_phUnscrambling a Messy Bug (IOI16_messy)C++20
38 / 100
1 ms348 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); // a[i] = a[p[i]]
    string s = ""; for (int i = 0; i < n; i++) s += '0';
    // cout << s << "\n";
    for (int i = 0; i < n - 1; i++) {
        s[i] = '1';
        // cout << s << "\n";
        add_element(s);
    }
    compile_set();
    string pre = ""; for (int i = 0; i < n; i++) pre += '0';
    vector <bool> visited(n);
    for (int i = 0; i < n - 1; i++) {
        for (int j = 0; j < n; j++) {
            if (pre[j] == '1') continue;
            pre[j] = '1';
            // cout << pre << "\n";
            if (check_element(pre)) {
                ans[j] = i;
                visited[j] = 1;
                break;
            }
            pre[j] = '0';
        }
    }
    for (int i = 0; i < n; i++) if (!visited[i]) ans[i] = n - 1;
    // for (int i = 0; i < n; i++) cout << ans[i] << " "; cout << "\n";
    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...