# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
341530 | ogibogi2004 | "The Lyuboyn" code (IZhO19_lyuboyn) | C++14 | 809 ms | 19948 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>
using namespace std;
int a[1000000];
int xr[1000000];
int n,k,t;
void print(int x)
{
string s="";
while(x)
{
s+=char('0'+x%2);
x/=2;
}
while(s.size()<n)s+="0";
reverse(s.begin(),s.end());
cout<<s<<endl;
}
int main()
{
cin>>n>>k>>t;
int one=(1<<n)-(1<<(n-k));
for(int i=1;i<=(1<<n);i++)
{
int t=one;
int i1=i;
while(i1%2==0)
{
if(i1==2&&i==(1<<n))break;
if(t&(1<<(n-1)))
{
t-=(1<<(n-1));
t*=2;
t++;
}
else t*=2;
i1/=2;
}
a[i]=t;
}
set<int>s;
for(int i=1;i<=(1<<n);i++)
{
xr[i]=xr[i-1]^a[i];
//cout<<a[i]<<" "<<xr[i]<<endl;
s.insert(xr[i]);
}
if(s.size()!=(1<<n))
{
cout<<"-1\n";
return 0;
}
string str;
cin>>str;
int b=0;
for(int i=0;i<str.size();i++)
{
if(str[i]=='1')
{
b+=(1<<(n-i-1));
}
}
cout<<(1<<n)<<endl;
print(b);
for(int i=1;i<(1<<n);i++)
{
b^=a[i];
print(b);
}
return 0;
}
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... |