题库练习
← 上一题 下一题 →

A3014 |

时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

给出 $N$ 和 $K$,要求生成从 $0$ 到 $2^N-1$ 的一个序列,序列的第一项为 $0$,并且该序列满足以下三个条件:

1. 序列长度为 $2^N$,保证 $0$ 到 $2^N-1$ 的每个数都用了且只用了一次。
2. 序列中任意两相邻的数都是由前一个数在其二进制下,改变了具有相同值的若干个位而形成的,即把其中若干个 $0$ 变为 $1$,或把其中若干个 $1$ 变为 $0$,并且只能二选一。
3. 当存在多个序列满足前两个条件的时候,要保证字典序最小,即由前一个数生成后一个数的时候,要挑值最小的数(当然是满足前两个条件的情况下)。

现问你这个序列前 $K$ 项中的最大值是多少,输出其二进制形式,注意一定要输出 $N$ 位,包括前导零。

输入格式

仅一行两个整数 $N,K$。

输出格式

一个二进制表示的数,为所求的答案。

输入输出样例

输入 #1
3 8
输出 #1
111
C++ 编辑器
输入
输出