제출 #1132346

#제출 시각아이디문제언어결과실행 시간메모리
1132346stdfloat"The Lyuboyn" code (IZhO19_lyuboyn)C++20
97 / 100
1096 ms27212 KiB
#include <bits/stdc++.h> using namespace std; int n, k, t, z; vector<int> v, u; vector<bool> vis; void f(int x) { if (x == z) { if (t == 1 && __builtin_popcount(v[0] ^ v[z - 1]) != k) return; cout << z << '\n'; for (auto i : v) { for (int j = n - 1; j >= 0; j--) cout << ((i >> j) & 1); cout << '\n'; } exit(false); } for (auto i : u) { if (vis[v.back() ^ i]) continue; vis[v.back() ^ i] = true; v.push_back(v.back() ^ i); f(x + 1); vis[v.back() ^ i] = false; v.pop_back(); } } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); string s; cin >> n >> k >> t >> s; int x = 0; for (int i = 0; i < n; i++) x += (1 << (n - i - 1)) * (s[i] - '0'); z = 1 << n; vis.assign(z, false); vis[x] = true; v.push_back(x); for (int i = 0; i < z; i++) if (__builtin_popcount(i) == k) u.push_back(i); f(1); cout << -1; }
#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...