제출 #1133969

#제출 시각아이디문제언어결과실행 시간메모리
1133969Muhammet"The Lyuboyn" code (IZhO19_lyuboyn)C++20
0 / 100
1095 ms5064 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; map <int,bool> vis; 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; } 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...