Submission #345150

#TimeUsernameProblemLanguageResultExecution timeMemory
345150koketsu"The Lyuboyn" code (IZhO19_lyuboyn)C++14
34 / 100
99 ms43936 KiB
#include <bits/stdc++.h> #define pb push_back #define LL long long #define Kultivator ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); using namespace std; const LL Mxn = 1e6 + 7; const LL Mod = 1e9 + 7; const LL Inf = 1e14 + 7; int N, K, T, Cnt; vector <int> tran, Ans; bool Used[Mxn]; int bom(string S){ int Ans = 0; for(int i = S.size() - 1; i >= 0; i--){ Ans += ((S[i] - '0') << i); } return Ans; } string rev(int V){ string Ans = ""; while(V > 0){ Ans += ((V % 2) + '0'); V /= 2; } int P = Ans.size(); for(int i = 0; i < N - P; i++){ Ans.pb('0'); } reverse(Ans.begin(), Ans.end()); return Ans; } void Solve(int X){ Used[X] = true; Ans.pb(X); Cnt++; if(Cnt == (1 << N)){ cout << Ans.size() << '\n'; for(int i : Ans){ cout << rev(i) << '\n'; } exit(0); } for(int i : tran){ if(!Used[i ^ X]){ Solve(i ^ X); } } } int main() { Kultivator; string S; cin >> N >> K >> T >> S; if(K % 2 == 0) return cout << -1, 0; for(int mask = 0; mask < (1 << N); mask++){ if(__builtin_popcount(mask) == K){ tran.pb(mask); } } Solve(bom(S)); }
#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...