# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
493437 | 2021-12-11T10:45:25 Z | Ronin13 | "The Lyuboyn" code (IZhO19_lyuboyn) | C++14 | 57 ms | 6880 KB |
#include<bits/stdc++.h> #define ll long long #define ull unsigned ll #define f first #define s second #define pll pair<ll,ll> #define pii pair<int,int> #define pb push_back #define epb emplace_back #define inf 1e9+1 #define linf 1e18+1 using namespace std; int conv(string s){ int x=0; int msb=s.size()-1; for(int i=0;i<s.size();i++){ int bt=s[i]-'0'; x+=bt*(1<<(msb--)); } return x; } string revconv(int a,int n){ string s=""; int len=log2(a); while(s.size()<n){ int x=a&1; char c=x+'0'; s+=c; a>>=1; } reverse(s.begin(),s.end()); return s; } vector<int>easy(int n){ vector<int>vec; vec.pb(0); for(int i=1;i<=n;i++){ for(int j=vec.size()-1;j>=0;j--)vec.pb(vec[j]+(1<<(i-1))); } return vec; } vector<vector<int> >vec(20); vector<int>hard(int k,int n){ vector<int>cur; int y=(1<<(n-2)); int z=(1<<(k-1))-1; for(int i=0;i<vec[k-2].size();i++){ if(i&1){ cur.pb(3*y+vec[k-2][i]); } else cur.pb(vec[k-2][i]); } int x=cur.size(); for(int i=x-1;i>=0;i--){ if(i&1){ cur.pb(y+vec[k-2][i]^z); } else cur.pb(2*y+vec[k-2][i]^z); } x=cur.size(); for(int i=0;i<x;i++){ int j=3*y; cur.pb(cur[i]^j); } return cur; } void solve(){ int n,k,t;cin>>n>>k>>t; string s;cin>>s; int st=conv(s); if(k%2==0){ cout<<-1; return; } int n1=n,k1=k; while(k1!=1){ n1-=2; k1-=2; } vec[1]=easy(n1); n1+=2; for(int i=3;i<=k;i+=2){ vec[i]=hard(i,n1);n1+=2; } cout<<vec[k].size()<<"\n"; for(int to:vec[k]){ cout<<revconv(to^st,n)<<"\n"; } } main(){ ios_base::sync_with_stdio(false);cin.tie(0); int test=1;//cin>>test; while(test--)solve(); }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 204 KB | Ok |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 204 KB | Ok |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 204 KB | Ok |
2 | Correct | 0 ms | 204 KB | Ok |
3 | Correct | 0 ms | 204 KB | Ok |
4 | Correct | 0 ms | 204 KB | Ok |
5 | Correct | 0 ms | 204 KB | Ok |
6 | Correct | 0 ms | 204 KB | Ok |
7 | Correct | 1 ms | 204 KB | Ok |
8 | Correct | 0 ms | 204 KB | Ok |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 56 ms | 6472 KB | Ok |
2 | Correct | 28 ms | 3256 KB | Ok |
3 | Correct | 1 ms | 332 KB | Ok |
4 | Correct | 0 ms | 204 KB | Ok |
5 | Correct | 0 ms | 204 KB | Ok |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 204 KB | Ok |
2 | Correct | 2 ms | 460 KB | Ok |
3 | Correct | 29 ms | 3364 KB | Ok |
4 | Correct | 14 ms | 1864 KB | Ok |
5 | Correct | 1 ms | 332 KB | Ok |
6 | Correct | 1 ms | 332 KB | Ok |
7 | Correct | 5 ms | 1100 KB | Ok |
8 | Correct | 1 ms | 204 KB | Ok |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 55 ms | 6840 KB | Ok |
2 | Correct | 56 ms | 6776 KB | Ok |
3 | Correct | 56 ms | 6720 KB | Ok |
4 | Correct | 27 ms | 3416 KB | Ok |
5 | Correct | 27 ms | 3364 KB | Ok |
6 | Correct | 13 ms | 1864 KB | Ok |
7 | Correct | 14 ms | 1744 KB | Ok |
8 | Correct | 5 ms | 1100 KB | Ok |
9 | Correct | 5 ms | 1100 KB | Ok |
10 | Correct | 3 ms | 588 KB | Ok |
11 | Correct | 1 ms | 316 KB | Ok |
12 | Correct | 0 ms | 332 KB | Ok |
13 | Correct | 1 ms | 204 KB | Ok |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 56 ms | 6472 KB | Ok |
2 | Correct | 28 ms | 3256 KB | Ok |
3 | Correct | 1 ms | 332 KB | Ok |
4 | Correct | 0 ms | 204 KB | Ok |
5 | Correct | 0 ms | 204 KB | Ok |
6 | Correct | 0 ms | 204 KB | Ok |
7 | Correct | 2 ms | 460 KB | Ok |
8 | Correct | 29 ms | 3364 KB | Ok |
9 | Correct | 14 ms | 1864 KB | Ok |
10 | Correct | 1 ms | 332 KB | Ok |
11 | Correct | 1 ms | 332 KB | Ok |
12 | Correct | 5 ms | 1100 KB | Ok |
13 | Correct | 1 ms | 204 KB | Ok |
14 | Correct | 55 ms | 6840 KB | Ok |
15 | Correct | 56 ms | 6776 KB | Ok |
16 | Correct | 56 ms | 6720 KB | Ok |
17 | Correct | 27 ms | 3416 KB | Ok |
18 | Correct | 27 ms | 3364 KB | Ok |
19 | Correct | 13 ms | 1864 KB | Ok |
20 | Correct | 14 ms | 1744 KB | Ok |
21 | Correct | 5 ms | 1100 KB | Ok |
22 | Correct | 5 ms | 1100 KB | Ok |
23 | Correct | 3 ms | 588 KB | Ok |
24 | Correct | 1 ms | 316 KB | Ok |
25 | Correct | 0 ms | 332 KB | Ok |
26 | Correct | 1 ms | 204 KB | Ok |
27 | Correct | 56 ms | 6832 KB | Ok |
28 | Correct | 27 ms | 3396 KB | Ok |
29 | Correct | 57 ms | 6796 KB | Ok |
30 | Correct | 3 ms | 696 KB | Ok |
31 | Correct | 0 ms | 312 KB | Ok |
32 | Correct | 2 ms | 460 KB | Ok |
33 | Correct | 6 ms | 1100 KB | Ok |
34 | Correct | 1 ms | 204 KB | Ok |
35 | Correct | 0 ms | 204 KB | Ok |
36 | Correct | 0 ms | 332 KB | Ok |
37 | Correct | 0 ms | 204 KB | Ok |
38 | Correct | 28 ms | 3524 KB | Ok |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 26 ms | 3396 KB | Ok |
2 | Correct | 56 ms | 6828 KB | Ok |
3 | Correct | 54 ms | 6880 KB | Ok |
4 | Correct | 3 ms | 588 KB | Ok |
5 | Correct | 0 ms | 204 KB | Ok |
6 | Correct | 5 ms | 1100 KB | Ok |
7 | Correct | 54 ms | 6828 KB | Ok |
8 | Correct | 1 ms | 332 KB | Ok |
9 | Correct | 0 ms | 204 KB | Ok |
10 | Correct | 1 ms | 332 KB | Ok |
11 | Correct | 13 ms | 1864 KB | Ok |
12 | Correct | 26 ms | 3456 KB | Ok |