#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];
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);
//freopen("tc.out","w",stdout);
//freopen("tc.in","r",stdin);
cin>>n>>k>>t;
for(int i=0;i<n;i++){
char c;cin>>c;
if(c=='1'){
s+=(1<<i);
}
}
if(n<=k||(k&1)==0){
cout<<-1;
return 0;
}
cout<<(1<<n)<<endl;
ans.pb(0);
yaz();
int cur=(1<<k)-1+(k!=3?(1<<(k-1)):0);
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 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... |