Submission #370893

#TimeUsernameProblemLanguageResultExecution timeMemory
370893casperwang"The Lyuboyn" code (IZhO19_lyuboyn)C++14
100 / 100
377 ms5872 KiB
#include <bits/stdc++.h> #define int long long #define pb push_back #define pii pair<int,int> #define ff first #define ss second using namespace std; #define debug(args...) kout("[ " + string(#args) + " ]", args) void kout() { cerr << endl; } template <class T, class ...U> void kout(T a, U ...b) { cerr << a << ' ',kout(b...); } template <class T> void pary(T L, T R) { while (L != R) cerr << *L << " \n"[++L==R]; } int N, K, T; string S; int now; vector <int> arr; vector <bool> vis; signed main() { ios_base::sync_with_stdio(0), cin.tie(0); cin >> N >> K >> T >> S; for (int i = 0; i < (1<<N); i++) { if (__builtin_popcount(i) == K) arr.pb(i); } if (K % 2 == 0) { cout << -1 << '\n'; return 0; } cout << (1<<N) << '\n'; vis.resize(1<<N); for (int i = N-1; i >= 0; i--) now += (1<<i) * (S[i] == '1'); for (int i = 0; i < (1<<N); i++) { for (int j = 0; j < N; j++) cout << (((1<<j)&now)>0); cout << '\n'; vis[now] = true; for (int j : arr) { if (!vis[now ^ j]) { now ^= j; break; } } } }
#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...