SP25384 SHUFFLES - Shuffles
题目描述
在扑克牌中,最常见的一种洗牌方法叫做“插洗”或“交错洗”,即将整副牌分成两叠,然后将这两叠牌交替交错地组合在一起。分牌的位置可以自由选择,同时交错的方式也可以自行安排。
例如,考虑有这样一副包含10张不同牌的牌:
**1 2 3 4 5 6 7 8 9 10**
我们可以在某个位置将其分成两部分:
1 2 3 4 5 6 7 8 9 10
然后按某种交错顺序将其合并:
1 2 7 3 8 9 4 5 10 6
再次操作,选择一个位置进行分割:
1 2 7 3 8 9 4 5 10 6
再按某种方式交错:
3 8 1 9 4 5 2 7 10 6
这是经过两次洗牌可能得到的一种牌序。假设一开始有 **n** 张不同的牌,排列为 1, 2, 3, ..., **n**。现在给你一个新排列,求出需要几次洗牌才能将牌整理成这种给定的顺序。
输入格式
输入包含一个测试用例。每个测试用例以一个整数 **n** (1 ≤ n ≤ 100) 开始,表示牌的数量。接下来的一行包含 **n** 个不重复的整数 **c** (1 ≤ c ≤ n),用空格隔开,表示一种牌的排列。可以保证这些整数为 1 到 **n** 的一个排列。
输出格式
输出一个整数,表示将牌整理成给定顺序所需的最小洗牌次数。不需要输出空格。
说明/提示
1 ≤ n ≤ 100
**本翻译由 AI 自动生成**