题目描述
对于集合N={1,2,…,n}的子集,定义一个称之为“小于”的关系:
设S1={X1,X2,…,Xi},(X1<X2<…<Xi),S2={Y1, Y2, …,Yj},(Y1<Y2<…<Yj),如果存在一个k,(0≤k≤min(i,j)),使得X1=Y1,…,Xk=Yk,且k=i或X(k+1)<Y(k+1),则称S1“小于”S2。
你的任务是,对于任意的n(n≤31)及k(k<2n),求出第k小的子集。
输入格式:
输入文件仅一行,包含两个用空格隔开的自然数,n和k。
输出格式:
输出文件仅一行,使该子集的元素,由小到大排列。空集输出0。
输入样例#1:
3 4
输出样例#1:
1 2 3