제출 #614356

#제출 시각아이디문제언어결과실행 시간메모리
614356bruceccccccUnscrambling a Messy Bug (IOI16_messy)C++14
38 / 100
2 ms340 KiB
#include <bits/stdc++.h>
#include "messy.h"

using namespace std;

vector<int> restore_permutation(int n, int w, int r) {
  srand(20349234);
  set<int> pos;
  for (int i = 1; i <= n; i++) {
    string x(n, '0');
    for (int j = 0; j < i; j++)
      x[j] = '1';
    add_element(x);
    pos.insert(i-1);
  }
  compile_set();
  string x(n, '0');
  int count = 0;
  vector<int> ans(n);
  for (int i = 0; i < n; i++) {
    set<int> guess = pos;
    while (!guess.empty()) {
      auto g = next(guess.begin(), rand() % guess.size());
      string t = x;
      int ind = *g;
      t[ind] = '1';
      guess.erase(g);
      // cout << t << ' ' << x << endl;
      count++;
      if (check_element(t)) {
        ans[ind] = i;
        x[ind] = '1';
        pos.erase(ind);
        break;
      }
    }
  }
  // cout << count << endl;

  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...