题目名称 | 776. 排序 |
---|---|
输入输出 | sorta.in/out |
难度等级 | ★★☆ |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试数据 | 10 |
题目来源 | cqw 于2012-04-18加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:2, 提交:29, 通过率:6.9% | ||||
Asm.Def | 100 | 0.265 s | 0.29 MiB | C++ |
Pom | 100 | 1.031 s | 3.15 MiB | C++ |
Oo湼鞶oO | 40 | 6.038 s | 0.31 MiB | C++ |
Pom | 40 | 6.818 s | 3.15 MiB | C++ |
Citron酱 | 30 | 0.429 s | 0.31 MiB | C++ |
Oo湼鞶oO | 30 | 6.069 s | 0.26 MiB | C++ |
Oo湼鞶oO | 30 | 6.069 s | 0.26 MiB | C++ |
Oo湼鞶oO | 30 | 6.071 s | 0.26 MiB | C++ |
Oo湼鞶oO | 30 | 6.091 s | 0.26 MiB | C++ |
Pom | 30 | 7.001 s | 3.15 MiB | C++ |
本题关联比赛 | |||
20120418s |
关于 排序 的近10条评论(全部评论) | ||||
---|---|---|---|---|
真-搜索都不会.......
|
通常对一个长度为n(n≤24)的整数数列进行排序操作,实际上是对它们按照从小到大的顺序重整。一般情况下可以比较任意两个数之间的大小并交换它们的位置,但这里我们限制只能数列的某一个前缀序列翻转,除此之外的任何操作都是不允许的。更精确地说,假设数列a1,a2,…,an,一个合法的操作是把数列变为ak,ak-1,…,a2,a1,ak+1,ak+2,…,an,
其中1
你的任务是求出一个序列用上面的方法排序至少需要多少步。
输入文件有两行:
第1行是一个整数n,表示数列的长度。
第2行有n个整数,表示待排序的数列,每个整数的绝对值不大于32767。
输出文件有两行:
第1行是一个整数s,表示完成排序所需的最少步数。
第2行有s个整数,按顺序表示完成排序的过程,每一步输出表示操作的k值。
4 3 2 1 4
1 3
样例提示:只需要一步就可以完成排序3 2 1 4,1 2 3 4。