排列的字典序排列的字典序

时间:2012-04-09 12:38:33
【文件属性】:

文件名称:排列的字典序排列的字典序

文件大小:1KB

文件格式:CPP

更新时间:2012-04-09 12:38:33

n 个元素 { 1, 2,

排列的字典序 Time Limit:1000MS Memory Limit:65536K Total Submit:80 Accepted:22 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 有多个测试用例. 每个测试用例由两行组成, 第一行是一个自然数 n(n ≤ 20), 第二行是 { 1, 2, ..., n } 的一个排列. 输入直至没有数据或者 n=0 为止. Output 对于每个测试用例输出两行, 第一行是给定排列的序值, 第二行是给定排列按字典序的下一个排列. Sample Input 8 2 6 4 5 8 1 7 3 Sample Output 8227 2 6 4 5 8 3 1 7 Source


网友评论