Submission #1290928

#TimeUsernameProblemLanguageResultExecution timeMemory
1290928Hamed_Ghaffari"The Lyuboyn" code (IZhO19_lyuboyn)C++20
8 / 100
126 ms18828 KiB
#include <bits/stdc++.h> using namespace std; int n, k, t, s; string st; vector<int> gray_code(int n) { if(n==1) return {0, 1}; vector<int> A = gray_code(n-1), B = A; while(!B.empty()) { A.push_back(B.back()^(1<<(n-1))); B.pop_back(); } return A; } vector<int> solve(int n, int k) { if(n==k+1) { vector<int> A = gray_code(n); for(int i=1; i<A.size(); i+=2) A[i] = A[i]^((1<<n)-1); return A; } vector<int> A = solve(n-1, k), B = A; while(!B.empty()) { A.push_back(B.back()^((1<<n)-1)^1); B.pop_back(); } return A; } int32_t main() { cin.tie(0); cout.tie(0); ios_base::sync_with_stdio(0); cin >> n >> k >> t >> st; for(int i=0; i<n; i++) s ^= (st[i]-'0')<<i; if(k%2==0) { cout << "-1\n"; return 0; } vector<int> ans = solve(n, k); for(int &i : ans) i ^= s; cout << ans.size() << '\n'; for(int i : ans) { for(int j=0; j<n; j++) cout << (i>>j&1); cout << '\n'; } return 0; }
#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...