Preparing NOJ

排列的字典序问题

1000ms 65536K

Description:

n个元素{1,2,..., n }有n!个不同的排列。将这n!个排列按字典序排列,并编号为0,1,…,n!-1。每个排列的编号为其字典序值。例如,当n=3时,6个不同排列的字典序值如下:

字典序值  0      1      2      3       4      5

排列       123    132   213  231  312   321

给定n 以及n 个元素{1,2, …, n }的一个排列,计算出这个排列的字典序值,以及按字典序排列的下一个排列。

Input:

输入数据的第1行是元素个数n。接下来的1 行是n个元素
{1,2, …, n }的一个排列。

Output:

输出计算出的排列的字典序值和按字典序排列的下一个 ,第1行是字典序值,第2行是按字典序排列的下一个排列。

Sample Input:

8
2 6 4 5 8 1 7 3

Sample Output:

8227
2 6 4 5 8 3 1 7

Note:

本题由旧版NOJ导入,来源:算法设计与实验题解

Info

NOJ

Provider NOJ

Code NOJ1214

Tags

Submitted 1

Passed 1

AC Rate 100%

Date 04/20/2019 10:03:10

Related

Nothing Yet