Submission #1133971

#TimeUsernameProblemLanguageResultExecution timeMemory
1133971Muhammet"The Lyuboyn" code (IZhO19_lyuboyn)C++20
5 / 100
1096 ms2912 KiB
#include <bits/stdc++.h> using namespace std; #define SZ(s) (int)s.size() #define ll long long const int N = 5e5 + 5; int n, k, t, a[N], sz, vis[N]; int f(int ind){ if(ind == (1<<n)+1) return (__builtin_popcount(a[ind-1]^a[1]) == k); for(int i = 0; i < (1<<sz); i++){ if(__builtin_popcount(a[ind-1]^i) == k and !vis[i]){ a[ind] = i; vis[i] = true; if(f(ind+1)) return true; vis[i] = false; } } return false; } int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); string s; cin >> n >> k >> t >> s; ll x = 0; sz = SZ(s); int cnt = -1; for(int i = sz-1; i >= 0; i--){ cnt++; if(s[i] == '0') continue; x += (1<<cnt); } a[1] = x; vis[x] = true; if(!f(2)){ cout << "-1\n"; return 0; } cout << (1<<n) << '\n'; for(int i = 1; i <= (1<<n); i++){ vector <int> v; while(a[i]){ v.push_back(a[i]%2); a[i] /= 2; } while(SZ(v) < sz) v.push_back(0); reverse(v.begin(), v.end()); for(auto j : v){ cout << j; } cout << '\n'; } }
#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...