Submission #373679

#TimeUsernameProblemLanguageResultExecution timeMemory
373679LucaDantasUnscrambling a Messy Bug (IOI16_messy)C++17
20 / 100
1 ms492 KiB
#include "messy.h" #include <bits/stdc++.h> using namespace std; bool on(int mask, int i) { return (mask&(1 << i)) > 0; } vector<int> restore_permutation(int n, int w, int r) { if(n == 8) { // caso brute de read vector<int> p(n); string s = "00000000"; for(int i = 0; i < n; i++) s[i] = '1', add_element(s); compile_set(); vector<int> masks(n), mark(n); for(int mask = 0; mask < (1 << n); mask++) { for(int i = 0; i < n; i++) s[i] = on(mask, i)?'1':'0'; int c = __builtin_popcount(mask); if(check_element(s)) masks[c-1] = mask; } for(int i = 0; i < n; i++) { // printf("%d\n", masks[i]); // bitset<8> b(masks[i]); // cout << b << endl; for(int j = 0; j < n; j++) if(on(masks[i], j) && !mark[j]) mark[j] = 1, p[i] = j; } vector<int> ans(n); for(int i = 0; i < n; i++) ans[p[i]] = i; return ans; } assert(n > 8); return vector<int>(0); }
#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...