# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
493437 | Ronin13 | "The Lyuboyn" code (IZhO19_lyuboyn) | C++14 | 57 ms | 6880 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
#define ll long long
#define ull unsigned ll
#define f first
#define s second
#define pll pair<ll,ll>
#define pii pair<int,int>
#define pb push_back
#define epb emplace_back
#define inf 1e9+1
#define linf 1e18+1
using namespace std;
int conv(string s){
int x=0;
int msb=s.size()-1;
for(int i=0;i<s.size();i++){
int bt=s[i]-'0';
x+=bt*(1<<(msb--));
}
return x;
}
string revconv(int a,int n){
string s="";
int len=log2(a);
while(s.size()<n){
int x=a&1;
char c=x+'0';
s+=c;
a>>=1;
}
reverse(s.begin(),s.end());
return s;
}
vector<int>easy(int n){
vector<int>vec;
vec.pb(0);
for(int i=1;i<=n;i++){
for(int j=vec.size()-1;j>=0;j--)vec.pb(vec[j]+(1<<(i-1)));
}
return vec;
}
vector<vector<int> >vec(20);
vector<int>hard(int k,int n){
vector<int>cur;
int y=(1<<(n-2));
int z=(1<<(k-1))-1;
for(int i=0;i<vec[k-2].size();i++){
if(i&1){
cur.pb(3*y+vec[k-2][i]);
}
else cur.pb(vec[k-2][i]);
}
int x=cur.size();
for(int i=x-1;i>=0;i--){
if(i&1){
cur.pb(y+vec[k-2][i]^z);
}
else cur.pb(2*y+vec[k-2][i]^z);
}
x=cur.size();
for(int i=0;i<x;i++){
int j=3*y;
cur.pb(cur[i]^j);
}
return cur;
}
void solve(){
int n,k,t;cin>>n>>k>>t;
string s;cin>>s;
int st=conv(s);
if(k%2==0){
cout<<-1;
return;
}
int n1=n,k1=k;
while(k1!=1){
n1-=2;
k1-=2;
}
vec[1]=easy(n1);
n1+=2;
for(int i=3;i<=k;i+=2){
vec[i]=hard(i,n1);n1+=2;
}
cout<<vec[k].size()<<"\n";
for(int to:vec[k]){
cout<<revconv(to^st,n)<<"\n";
}
}
main(){
ios_base::sync_with_stdio(false);cin.tie(0);
int test=1;//cin>>test;
while(test--)solve();
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |