#T1850. 「Booksort」 排书

「Booksort」 排书

给定n本书,编号为1-n。

在初始状态下,书是任意排列的。

在每一次操作中,可以抽取其中连续的一段,再把这段插入到其他某个位置。

我们的目标状态是把书按照1-n的顺序依次排列。

求最少需要多少次操作。

输入格式

第一行包含整数T,表示共有T组测试数据。

每组数据包含两行,第一行为整数n,表示书的数量。

第二行为n个整数,表示1-n的一种任意排列。

同行数之间用空格隔开。

输出格式

每组数据输出一个最少操作次数。

如果最少操作次数大于或等于5次,则输出”5 or more”。

每个结果占一行。

数据范围

1n151 \le n \le 15

输入样例:

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

来源

  • 《算法竞赛进阶指南》
  • acwing 可能含有视频讲解