题目名称 1119. [郑州培训2012] 数列的排序
输入输出 sortb.in/out
难度等级 ★★
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 GravatarMakazeu 于2012-10-07加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:2, 提交:5, 通过率:40%
Gravatarrewine 100 0.036 s 0.70 MiB C++
Gravatarrewine 100 0.045 s 0.70 MiB C++
Gravatarrewine 60 4.004 s 0.70 MiB C++
Gravatarrewine 30 0.055 s 0.70 MiB C++
Gravatarrewine 0 0.036 s 0.70 MiB C++
关于 数列的排序 的近10条评论(全部评论)
没人吗
Gravatarrewine
2018-10-17 18:41 3楼
吓傻了
Gravatarrewine
2017-07-13 10:34 2楼
吓傻了
GravatarHzoi_
2016-02-27 09:06 1楼

1119. [郑州培训2012] 数列的排序

★★   输入文件:sortb.in   输出文件:sortb.out   简单对比
时间限制:1 s   内存限制:128 MiB

【问题描述】

对于正整数N,则1到N这N个数可以构成N!种排列,把这些排列按照字典序从小到大列出。

如N=3时,列出1 2 3,1 3 2,2 1 3,2 3 1,3 1 2,3 2 1六个排列。

现在,给你排列{Pi},请你计算它后面的第K个排列{Qi}。

注意:这N!个排列是循环的,例如3 1 2后面的第2个排列是1 2 3。

【输入格式】

输入包括两行。

第一行两个正整数N,K。

第二行N个正整数P1,P2,...,Pn。

【输出文件】

一行N个整数,表示第K个排列。

【输入样例】

3 2
1 3 2

【输出样例】

2 3 1

【数据规模与约定】

对于30%的数据,1<=N<=10,1<=K<=100000。

对于60%的数据,1<=N<=1000,1<=K<=100000。

对于90%的数据,1<=N<=1000,1<=K<=10^18。

对于100%的数据,1<=N<=100000,1<=K<=10^18。