Submission #1042175

#TimeUsernameProblemLanguageResultExecution timeMemory
1042175XJP12Unscrambling a Messy Bug (IOI16_messy)C++14
0 / 100
1 ms348 KiB
#include <bits/stdc++.h> #include "messy.h" using namespace std; typedef vector<int> vi; /*vector<string> bug; int x1=2; int z1=7; bool check_element(string x){ for(int i=0; i<(int)bug.size(); i++){ if(bug[i]==x)return true; } return false; } void compile_set(){ for(int i=0; i<(int)bug.size(); i++){ swap(bug[i][x1], bug[i][z1]); //cout<<bug[i]<<endl; } } void add_element(string x){ bug.push_back(x); }*/ vi restore_permutation(int n, int w, int r){ add_element("10101010"); add_element("10010010"); add_element("01001001"); add_element("10000001"); compile_set(); string s; vi ans(n); int a=0,b=0; if(!check_element("10101010")){ s="10101010"; for(int i=0; i<n; i+=2){ for(int j=1; j<n; j+=2){ string t=s; swap(t[i],t[j]); if(check_element(t)){ a=i; b=j; break; } } } }else{ if(!check_element("10010010")){ s="10010010"; for(int i=0; i<n; i+=3){ for(int j=1; j<n; j++){ if(j%3==0) j++; string t=s; swap(t[i],t[j]); if(check_element(t)){ a=i; b=j; break; } } } }else{ if(!check_element("01001001")){ s="01001001"; for(int i=1; i<n; i+=3){ for(int j=0; j<n; j++){ if(j%3==1) j++; string t=s; swap(t[i],t[j]); if(check_element(t)){ a=i; b=j; break; } } } }else{ s="10000001"; for(int i=0; i<n; i+=7){ for(int j=1; j<n-1; j++){ string t=s; swap(t[i],t[j]); // cout<<t<<" a"<<endl; if(check_element(t)){ a=i; b=j; break; } } } } } } for(int i=0; i<n; i++){ ans[i]=i; if(ans[i]==a){ ans[i]=b; continue; } if(ans[i]==b){ ans[i]=a; continue; } } 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...