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 自动生成**