Submission #835885

#TimeUsernameProblemLanguageResultExecution timeMemory
835885erdemkirazUnscrambling a Messy Bug (IOI16_messy)C++17
38 / 100
1 ms364 KiB
#include "messy.h"
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef pair<int, int> ii;

random_device rd;
mt19937 g(rd());

vector<int> restore_permutation(int n, int w, int r) {
  string s(n, '0');

  for(int i = 0; i < n; i++) {
    s[i] = '1';
    add_element(s);
  }

  compile_set();

  string known(n, '0');

  vector<int> went(n), p(n);

  for(int i = 0; i < n; i++) {
    vector<int> v;
    for(int j = 0; j < n; j++) {
      v.push_back(j);
    }
    shuffle(v.begin(), v.end(), g);
    for(auto j : v) {
      if(known[j] == '0') {
        known[j] = '1';
        bool res = check_element(known);
        if(res) {
          went[i] = j;
          break;
        }
        known[j] = '0';
      }
    }
  }

  for(int i = 0; i < n; i++) {
    p[went[i]] = i;
  }

  return p;
}
#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...