# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
145909 | davitmarg | "The Lyuboyn" code (IZhO19_lyuboyn) | C++17 | 319 ms | 21140 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.
/*DavitMarg*/
#include <iostream>
#include <algorithm>
#include <cmath>
#include <vector>
#include <string>
#include <cstring>
#include <map>
#include <unordered_map>
#include <set>
#include <queue>
#include <iomanip>
#include <stack>
#include <cassert>
#include <iterator>
#include <bitset>
#include <fstream>
#define mod 998244353ll
#define LL long long
#define LD long double
#define MP make_pair
#define PB push_back
#define all(v) v.begin(),v.end()
using namespace std;
int cnt(int num)
{
int res=0;
while(num)
{
res+=num%2;
num/=2;
}
return res;
}
vector<int> dirs,path;
int n,k,t,s,used[(1<<18)+10],is[(1<<18)+10];
void print(int num)
{
string s;
for(int i=0;i<n;i++)
{
s+=(char)(num%2+'0');
num/=2;
}
reverse(all(s));
for(int i=0;i<s.length();i++)
printf("%c",s[i]);
putchar(10);
}
void dfs(int v)
{
vector<int>& d=dirs;
path.PB(v);
used[v]=1;
if(path.size()==(1<<n) && is[(path[0]^v)])
{
cout<<path.size()<<endl;
for(int i=0;i<path.size();i++)
print(path[i]);
exit(0);
}
//random_shuffle(all(d));
for(int i=0;i<d.size();i++)
{
int to=v^d[i];
if(used[to])
continue;
dfs(to);
}
path.pop_back();
used[v]=0;
}
int main()
{
cin>>n>>k>>t;
for(int i=0;i<n;i++)
{
char x;
cin>>x;
s=s*2+(x-'0');
}
if(k%2==0)
{
cout<<-1<<endl;
return 0;
}
for(int i=1;i<(1<<n);i++)
if(cnt(i)==k)
{
dirs.PB(i);
is[i]=1;
}
dfs(s);
cout<<-1<<endl;
return 0;
}
/*
5 3 0
00000
*/
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... |