Submission #336686

#TimeUsernameProblemLanguageResultExecution timeMemory
336686tengiz05"The Lyuboyn" code (IZhO19_lyuboyn)C++17
69 / 100
170 ms6508 KiB
#include <bits/stdc++.h> using namespace std; #define ff first #define ss second #define pb push_back //#define mp make_pair #define ub upper_bound #define lb lower_bound #define ll long long #define ld long double #define pii pair<int, int> #define pll pair<ll, ll> #define sz(x) (int)x.size() #define all(x) x.begin(), x.end() #define rall(x) x.rbegin(),x.rend() #define prc(n) fixed << setprecision(n) #define fastios ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define pi acos(-1); const int inf = 1e9+7; const int N = 105; int n, k, t, a, cnt; void bin(int a){ for(int i = n-1; i >=0 ;i--) cout << (a&(1<<i) ? "1" : "0"); cout << '\n'; } int main(){ fastios cin>>n>>k>>t; if(k%2 == 0){ cout<<-1; return 0; } string s; cin>>s; reverse(all(s)); for(int i=0;i<sz(s);i++, cnt++) if(s[i] == '1') a += (1<<i); vector<int>ans; ans.reserve(1<<22); ans.pb(0); ans.pb(1); int mx = (1<<(k+1)) - 1; while(sz(ans) < (1<<(k+1))){ cnt++; int add = sz(ans), size = sz(ans); for(int i = size-1; i>=0; i--, cnt++) ans.pb(ans[i] + add); } for(int i=0;i<sz(ans);i++, cnt++) if(i % 2 == 0) ans[i] ^= mx; mx = (1<<(k-1)) -1; while(sz(ans) < (1<<n)){ cnt++; int add = sz(ans), size = sz(ans); for(int i = size-1; i>=0; i--, cnt++) ans.pb((ans[i] + add) ^ mx); } int start = 0; for(int i=0;i<(1<<n);i++, cnt++) if(ans[i] == a) start = i; cout << (1<<n) << '\n'; int size = (1<<n); int C = 0; for(int i=start+1; i != start; i++){ if(i == size+1) i = 1; bin(ans[i-1]);C++; if(C > 1<<n)break; } bin(ans[start-1]); //cout<<cnt<<"\n"; return 0; }
#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...