CF513B1 Permutations

题目描述

给定一个长度为 $n$ 的排列 $p$,排列包含数字 $1,2,\ldots,n$。定义 $f(p)$ 为如下的和: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF513B1/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 翻译