This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
#define endl "\n"
typedef long long ll;
vector<int> build(int n, int k) {
if(k == 1) {
if(n == 1) {
return {0, 1};
}
auto ans = build(n - 1, k);
auto cpy = ans;
reverse(cpy.begin(), cpy.end());
vector<int> ret;
for(auto it : ans) {
ret.push_back(it * 2);
}
for(auto it : cpy) {
ret.push_back(it * 2 + 1);
}
return ret;
}
auto ans = build(n - 2, k - 2);
vector<int> ret;
for(auto it : ans) {
ret.push_back(it * 4 + 0);
ret.push_back(it * 4 + 3);
}
for(auto it : ans) {
ret.push_back((it ^ (1 << (k - 1))) * 4 + 1);
ret.push_back((it ^ (1 << (k - 1))) * 4 + 2);
}
return ret;
}
signed main() {
ios_base::sync_with_stdio(false); cin.tie(NULL);
int n, k, t, s;
cin >> n >> k >> t;
string str;
cin >> str;
for(auto it : str) {
s = (s * 2) + (it - '0');
}
s = (1 << n) - 1 - s;
if(k % 2 == 0) {
cout << -1 << endl;
return 0;
}
auto ans = build(n, k);
cout << ans.size() << endl;
for(auto it : ans) {
int real = it ^ s;
for(int i = 0; i < n; i ++) {
cout << (bool)(real & (1 << i));
}
cout << endl;
}
return 0;
}
Compilation message (stderr)
lyuboyn.cpp: In function 'int main()':
lyuboyn.cpp:47:4: warning: 's' may be used uninitialized in this function [-Wmaybe-uninitialized]
47 | s = (1 << n) - 1 - s;
| ~~^~~~~~~~~~~~~~~~~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |