A22745.锁
普及-
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
给出 N 和 K,要求生成从 0 到 2N−1 的一个序列,序列的第一项为 0,并且该序列满足以下三个条件:
- 序列长度为 2N,保证 0 到 2N−1 的每个数都用了且只用了一次。
- 序列中任意两相邻的数都是由前一个数在其二进制下,改变了具有相同值的若干个位而形成的,即把其中若干个 0 变为 1,或把其中若干个 1 变为 0,并且只能二选一。
- 当存在多个序列满足前两个条件的时候,要保证字典序最小,即由前一个数生成后一个数的时候,要挑值最小的数(当然是满足前两个条件的情况下)。
现问你这个序列前 K 项中的最大值是多少,输出其二进制形式,注意一定要输出 N 位,包括前导零。
输入格式
仅一行两个整数 N,K。
输出格式
一个二进制表示的数,为所求的答案。
输入输出样例
输入#1
3 8
输出#1
111
说明/提示
样例解释
生成的序列为 [000,001,011,010,110,100,101,111]。前 8 项当中的最大值为 111。
数据范围及约定
对于全部数据,1≤N≤50,1≤K≤2N。