Submission #780557

#TimeUsernameProblemLanguageResultExecution timeMemory
780557sofija6Unscrambling a Messy Bug (IOI16_messy)C++14
38 / 100
2 ms340 KiB
#include <bits/stdc++.h> #include "messy.h" using namespace std; map<string,bool> checked; bool Check(string cur) { if (checked[cur]) return false; checked[cur]=true; return check_element(cur); } mt19937 gen{2705}; std::vector<int> restore_permutation(int n, int w, int r) { string s=""; std::vector<int> ans; for (int i=0;i<n;i++) { s+='0'; ans.push_back(0); } for (int i=0;i<n;i++) { s[i]='1'; add_element(s); } for (int i=0;i<n;i++) s[i]='0'; compile_set(); for (int i=0;i<n;i++) { string cur=s; uniform_int_distribution<int> rng(0,n-1); checked.clear(); int pos=-1; while (true) { int x=rng(gen); if (cur[x]=='0') { cur[x]='1'; if (Check(cur)) { pos=x; break; } cur[x]='0'; } } if (pos==-1) pos=n-1; cur[pos]='1'; ans[pos]=i; s=cur; } 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...