CF513B2 Permutations

题目描述

给定一个长度为 $n$ 的排列 $p$,排列包含数字 $1,2,\ldots,n$。我们定义 $f(p)$ 为如下的和: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF513B2/01b3997850b3844bd3627bf7c28ebf2176a4c489.png) 请你在所有能使 $f(p)$ 取到最大值的排列中,找出字典序第 $m$ 小的排列。

输入格式

输入包含一行,两个整数 $n$ 和 $m$($1 \leq m \leq cnt_n$),其中 $cnt_n$ 表示长度为 $n$ 且 $f(p)$ 取最大值的排列个数。 本题包含两个子任务,每个子任务的输入约束不同,提交正确可获得部分分。子任务描述如下: - 子任务 B1($3$ 分):$1 \leq n \leq 8$。 - 子任务 B2($4$ 分):$1 \leq n \leq 50$。

输出格式

输出一行,包含 $n$ 个数字,表示所求的排列。

说明/提示

在第一个样例中,数字 $\{1, 2\}$ 的两种排列都能使 $f(p)$ 取到最大值 $4$。其中,$(2,1)$ 是字典序第二小的排列。 由 ChatGPT 4.1 翻译