Submission #288061

#TimeUsernameProblemLanguageResultExecution timeMemory
288061dvdg6566"The Lyuboyn" code (IZhO19_lyuboyn)C++14
52 / 100
87 ms9576 KiB
#include<bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<ll,ll> pi; typedef vector<ll> vi; typedef vector<pi> vpi; #define pb emplace_back #define mp make_pair #define f first #define s second #define SZ(x) (int)x.size() #define ALL(x) x.begin(),x.end() #define lb lower_bound const int MAXN=1001000; const ll MOD=998244353; int N,K,T; string S; void tobin(int y,int len){ string x; while(y){ x+=('0' + y%2); y/=2; } while(SZ(x) < len)x+='0'; reverse(ALL(x)); cout<<x; } vi A; vi B; int main(){ ios_base::sync_with_stdio(0);cin.tie(0); cin>>N>>K>>T>>S; if(K%2==0){ cout<<-1; return 0; } ll flip=0; if(K*2>N){ K=N-K; flip=1; } ll v=0;ll k=1; while(SZ(S)){ if(S.back() == '1')v+=k; k*=2; S.pop_back(); } ll mod=(1<<(N-K+1)); // cerr<<mod<<'\n'; A.pb(v%(1<<(K-1))); B.pb(v/(1<<(K-1))); ll alen=(K-1); for(int i=1;i<=(1<<alen);++i){ for(int j=0;j<mod-1;++j){ A.pb(A.back() ^ ((1<<alen)-1)); } // flip A back if(SZ(A) < (1<<N))A.pb(A.back() ^ (i&(-i))); } for(int i=1;i<=(1<<alen);++i){ for(int j=1;j<mod;++j){ B.pb(B.back() ^ (j&(-j))); } // flip A back if(SZ(B) < (1<<N))B.pb(B.back() ^ ((1<<(K-1))-1)); } cout<<(1<<N)<<'\n'; for(int i=0;i<SZ(A);++i){ if(flip&&i%2){ A[i]=((1<<(K-1))-1)^A[i]; B[i]=((1<<(N-K+1))-1)^B[i]; } tobin(B[i],(N-K+1)); tobin(A[i],K-1); 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...