Submission #1170247

#TimeUsernameProblemLanguageResultExecution timeMemory
1170247madamadam3Machine (IOI24_machine)C++20
10 / 100
148 ms464 KiB
#include "machine.h"
#include <bits/stdc++.h>

using namespace std;

int n;

bool validate(vector<int> &B, int xor_base) {
  vector<int> P(n); iota(P.begin(), P.end(), 0);
  set<int> ps(P.begin(), P.end());
  set<int> out;

  for (int i = 0; i < n; i++) {
    out.insert((B[i] ^ xor_base) - 1);
  }

  return ps == out;
}

vector<int> find_permutation(int N) {
  n = N; 
  vector<int> A(N); iota(A.begin(), A.end(), 1);
  vector<int> B = use_machine(A);
  vector<int> C(N);

  for (int x = 0; x <= 255; x++) {
    if (!validate(B, x)) continue;
    for (int i = 0; i < N; i++) {
      C[i] = (B[i] ^ x) - 1;
    }

    break;
  }
  return C;
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...