Submission #1186979

#TimeUsernameProblemLanguageResultExecution timeMemory
1186979PieArmy"The Lyuboyn" code (IZhO19_lyuboyn)C++20
19 / 100
136 ms7620 KiB
#include<bits/stdc++.h>
typedef long long ll;
#define pb push_back
#define fr first
#define sc second
#define endl '\n'
using namespace std;

int n,k,t;
int s;
vector<int>ans;
int var[1<<18];

int gcd(int a,int b){
	if(a<b)swap(a,b);
	if(b==0)return a;
	return gcd(b,a%b);
}

void yaz(){
	int x=ans.back()^s;
	//if(var[x])assert(0);
	var[x]=1;
	for(int i=0;i<n;i++){
		cout<<!!(x&(1<<i));
	}
	cout<<endl;
}

int main(){
	ios_base::sync_with_stdio(false);cin.tie(NULL);
	cin>>n>>k>>t;
	for(int i=0;i<n;i++){
		char c;cin>>c;
		if(c=='1'){
			s+=(1<<i);
		}
	}
	if(gcd(n,k)!=1||(k&1)==0){
		cout<<-1;
		return 0;
	}
	cout<<(1<<n)<<endl;
	ans.pb(0);
	yaz();
	int cur=(1<<k)-1;
	for(int i=0;i<n;i++){
		for(int j=ans.size()-1;j>=0;j--){
			ans.pb(ans[j]^cur);
			yaz();
		}
		cur=(cur>>1)|((cur&1)<<(n-1));
	}
}
#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...