Submission #341530

#TimeUsernameProblemLanguageResultExecution timeMemory
341530ogibogi2004"The Lyuboyn" code (IZhO19_lyuboyn)C++14
19 / 100
809 ms19948 KiB
#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)

lyuboyn.cpp: In function 'void print(int)':
lyuboyn.cpp:14:16: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   14 |  while(s.size()<n)s+="0";
      |        ~~~~~~~~^~
lyuboyn.cpp: In function 'int main()':
lyuboyn.cpp:47:13: warning: comparison of integer expressions of different signedness: 'std::set<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   47 |  if(s.size()!=(1<<n))
      |     ~~~~~~~~^~~~~~~~
lyuboyn.cpp:55:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   55 |  for(int i=0;i<str.size();i++)
      |              ~^~~~~~~~~~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...