Submission #911234

#TimeUsernameProblemLanguageResultExecution timeMemory
911234daoquanglinh2007"The Lyuboyn" code (IZhO19_lyuboyn)C++17
100 / 100
169 ms6604 KiB
#include <bits/stdc++.h> using namespace std; string bS; int N, K, S, T; vector <int> v, ans; vector <int> build(int N){ if (N == 1){ vector <int> ans = {0, 1}; return ans; } vector <int> a = build(N-1); for (int i = 0; i < (1<<(N-1)); i++){ a.push_back((1<<(N-1))+a[(1<<(N-1))-1-i]); } return a; } vector <int> solve(int N, int K){ if (K%2 == 0) return {}; if (K == 1) return build(N); vector <int> tmp = solve(N-2, K-2), ans(0); for (int i = 0; i < (1<<(N-2)); i++){ if (i&1) ans.push_back((tmp[i]<<2)+3); else ans.push_back(tmp[i]<<2); } for (int i = 0; i < (1<<(N-2)); i++){ if (i&1) ans.push_back(((tmp[i]<<2)^4)+1); else ans.push_back(((tmp[i]<<2)^4)+2); } for (int i = 0; i < (1<<(N-2)); i++){ if (i&1) ans.push_back(tmp[i]<<2); else ans.push_back((tmp[i]<<2)+3); } for (int i = 0; i < (1<<(N-2)); i++){ if (i&1) ans.push_back(((tmp[i]<<2)^4)+2); else ans.push_back(((tmp[i]<<2)^4)+1); } return ans; } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> N >> K >> T >> bS; for (int i = 0; i < N; i++) if (bS[i] == '1') S += (1<<(N-1-i)); vector <int> ans = solve(N, K); if (ans.empty()){ cout << "-1\n"; return 0; } cout << (1<<N) << '\n'; for (int &x : ans){ x ^= S; for (int i = N-1; i >= 0; i--) cout << ((x>>i)&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...