# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1187049 | PieArmy | "The Lyuboyn" code (IZhO19_lyuboyn) | C++20 | 137 ms | 7600 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 basis[18];
int local=0;
void yaz(){
int x=ans.back()^s;
if(local)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);
if(local)freopen("tc.out","w",stdout);
if(local)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;
for(int i=0;i<(1<<n);i++){
if(__builtin_popcount(i)!=k)continue;
cur=i;
for(int j=0;j<n;j++)basis[j]=0;
while(true){
int y=cur;
for(int j=n-1;j>=0;j--){
if((y&(1<<j))==0)continue;
if(basis[j]==0){
basis[j]=y;
break;
}
else y^=basis[j];
}
cur=(cur>>1)|((cur&1)<<(n-1));
if(cur==i)break;
}
bool b=true;
for(int j=0;j<n;j++){
if(basis[j]==0){
b=false;
break;
}
}
if(b)break;
}
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));
}
}
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... |