第一课堂
Current course
Participants
General
Topic 2
Topic 3
Topic 4
Topic 5
Topic 6
Topic 7
Topic 8
Topic 9
Topic 10
Topic 11
Topic 12
Topic 13
Topic 14
Topic 15
Topic 16
Topic 17
Topic 18
Topic 19
Topic 20
排序集合
Grade | 0 | Open Time | Thursday, 21 February 2013, 11:02 pm |
Discount | 0.8 | Time Discount | Thursday, 28 February 2013, 11:02 pm |
Allow late | Yes | Close Time | Thursday, 28 February 2013, 11:02 pm |
Input file | sort.in | Output file | sort.out |
题目描述
对于集合 N={1 , 2 ,…, n} 的子集,定义一个称之为“小于”的关系:
设 S 1 ={X 1 , X 2 ,…, X i } , (x 1 <x 2 < … <X i ) ,
S 2 ={Y 1 , Y 2 ,…, Y j } , (Y 1 <Y 2 < … <Y i ) ,
如果存在一个 k , (O ≤ k ≤ min{i , j)) ,使得 X 1 =Y 1 ,…, X k =Y k ,且 k=i 或 X (k+1) <Y (k+1) ,则称 S 1 “小于” S 2 。
你的任务是,对于任意的 n(n ≤ 31) 及 k(k<2^n ) ,求出第 k 小的子集。
【输入】
输入文件仅一行,包含两个用空格隔开的自然数, n 和 k 。
【输出】
输出文件仅一行,是该子集的元素,由小到大排列。空集输出 0 。
【样例】
sort.in
3 4
sort.out
1 2 3