题目名称 3491. [POJ 3460]书籍排列
输入输出 booksort.in/out
难度等级 ★★☆
时间限制 1000 ms (1 s)
内存限制 64 MiB
测试数据 7
题目来源 Gravatargao 于2020-10-25加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:8, 提交:23, 通过率:34.78%
Gravatar锝镆氪锂铽 100 0.000 s 0.00 MiB C++
GravatarEddy2008 100 0.000 s 0.82 MiB C++
Gravatartat 100 0.007 s 1.95 MiB C++
GravatarEddy2008 100 0.023 s 0.82 MiB C++
GravatarOasiz 100 0.027 s 3.90 MiB C++
Gravatar增强型图元文件 100 0.062 s 5.85 MiB C++
GravatarOasiz 100 0.464 s 5.86 MiB C++
GravatarOasiz 100 1.241 s 7.81 MiB C++
GravatarEddy2008 85 0.012 s 0.82 MiB C++
GravatarEddy2008 85 0.125 s 0.82 MiB C++
关于 书籍排列 的近10条评论(全部评论)
回复 @Oasiz :
nmsl
Gravatartat
2020-11-13 21:30 3楼
LS就是个臭嗨()
GravatarOasiz
2020-11-13 21:05 2楼
多亏了机房性能优异的电脑,我改了半天的代码因为死机全部美丽,淦
GravatarTheresis
2020-11-13 20:28 1楼

3491. [POJ 3460]书籍排列

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

【题目描述】

给定$n(1 \le n \le 15)$本书,编号为$1\sim n$。在初状态下,书是任意排列的。在每一次操作中,可以抽取其中连续的一段,再把这段插入到其他某个位置。我们的目的状态是把书按照$1\sim n$的顺序依次排列,求最少需要多少次操作,如果操作次数$\ge5$,则直接输出字符串"5 or more"即可。

【输入格式】

输入第一行包含一个数$m$,表示$m$组数据。

每组数据包含:      

一行一个整数$n$且$1≤n≤15$:某一书架上的图书数量。          

接下来一行有$n$个整数,表示书籍编号。

【输出格式】

共m行,输出最小交换次数($\le 4$),若操作次数$\ge 5$,则输出字符串"5 or more"。

【样例输入】

3
6
1 3 4 6 2 5
5
5 4 3 2 1
10
6 8 5 3 4 7 2 9 1 10

【样例输出】

2
3
5 or more

【来源】

《算法竞赛进阶指南》POJ3640