Submission #1235193

#TimeUsernameProblemLanguageResultExecution timeMemory
1235193moondarksideUnscrambling a Messy Bug (IOI16_messy)C++20
51 / 100
2 ms584 KiB
#include<bits/stdc++.h> using namespace std; /* vector<string> Values; map<string,bool> Test; int amount=0; void add_element(string x){ amount++; Values.push_back(x); } void compile_set(){ for(int i=0;i<Values.size();i++){ string a=Values[i]; char t=a[3]; a[3]=a[1]; a[1]=a[6]; a[6]=t; char z=a[7]; a[7]=a[4]; a[4]=a[2]; a[2]=z; if(Test[a]==true){ cout<<"ERROR"<<" "<<Values[i]<<"\n"; } Test[a]=true; } return; } bool check_element(string x){ return Test[x]; } */ void add_element(string x); void compile_set(); bool check_element(string x); void AddT(int pos,vector<bool>& Base,int n){ string test; for(int i=0;i<n;i++){ test+='0' + (Base[i] ^ (pos==i)); } add_element(test); } bool CheckT(int pos,vector<bool>& Base,int n){ string test; for(int i=0;i<n;i++){ test+='0' + (Base[i] ^ (pos==i)); } return check_element(test); } vector<int> restore_permutation(int n, int w, int r){ int v; if(n==8){ v=2; } if(n==32){ v=4; } if(n=128){ v=6; } vector<bool> Base(n,false); for(int i=0;i<v;i++){ vector<bool> NewBase=Base; int mult=1<<i; for(int j=0;j<n;j++){ if((j & mult) !=0){ NewBase[j]=1; AddT(j,Base,n); } } Base=NewBase; } Base = vector<bool>(n,true); int mult=n/2; for(int j=0;j<n;j++){ if((j & mult) !=0){ AddT(j,Base,n); } } compile_set(); vector<int> Permutation(n,0); Base = vector<bool>(n,false); for(int i=0;i<v;i++){ vector<bool> NewBase=Base; int mult=1<<i; for(int j=0;j<n;j++){ if(CheckT(j,Base,n)){ NewBase[j]=1; Permutation[j]+=mult; } } Base=NewBase; } Base = vector<bool>(n,true); mult=n/2; for(int j=0;j<n;j++){ if(CheckT(j,Base,n)){ Permutation[j]+=mult; } } return Permutation; }

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...