Submission #1204325

#TimeUsernameProblemLanguageResultExecution timeMemory
1204325AvianshUnscrambling a Messy Bug (IOI16_messy)C++20
38 / 100
1 ms328 KiB
#include "messy.h" #include <bits/stdc++.h> using namespace std; vector<int> restore_permutation(int n, int w, int r) { srand(time(0)); string curr = ""; for(int i = 0;i<n;i++){ curr+="0"; } for(int i = 0;i<n-1;i++){ curr[i]='1'; add_element(curr); } vector<int>ans(n); compile_set(); for(int i = 0;i<n;i++){ curr[i]='0'; } vector<int>pos(n); iota(pos.begin(),pos.end(),0); for(int i = 1;i<n;i++){ //attempting to find where first 1 went vector<int>cur=pos; int fin = -1; while(1){ int ind = rand() % cur.size(); curr[cur[ind]]='1'; if(check_element(curr)){ fin=cur[ind]; break; } curr[cur[ind]]='0'; swap(cur[ind],cur[cur.size()-1]); cur.pop_back(); } assert(fin!=-1); int fini = -1; for(int i = 0;i<pos.size();i++){ if(pos[i]==fin){ fini=i; break; } } swap(pos[fini],pos[pos.size()-1]); pos.pop_back(); //discovered new character //i-1th bit went to fin ans[fin]=i-1; } ans[pos[0]]=n-1; return ans; }

Compilation message (stderr)

messy.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
messy_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#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...