传统题 1500ms 256MiB

雪花序列的魔法变换

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目背景

慕雪少年遇到了一群飞舞的雪花精灵。每个雪花精灵都有一个独特的魔法编号,编号范围从 11nn。这些精灵正在进行一场神秘的魔法仪式,仪式中精灵们会进行特殊的"魔法变换"。

根据古老的雪花预言,只有当所有雪花精灵通过一系列魔法变换后,能够形成一个特定的魔法序列,才能激活隐藏在冰晶中的传送阵。

题目描述

nn 个雪花精灵,初始时第 ii 个精灵的魔法编号为 ii。定义以下魔法变换:

循环变换:选择一个区间 [l,r][l, r]1lrn1 \leq l \leq r \leq n),将区间内的所有精灵向右循环移动一位,即位置 rr 的精灵移动到位置 ll,位置 llr1r-1 的精灵各自向右移动一位。

现在给出一个目标序列 P=(p1,p2,,pn)P = (p_1, p_2, \ldots, p_n),这是一个 11nn 的排列。

你的任务是判断:是否存在一种魔法变换序列(可以使用任意多次循环变换),使得最终序列恰好为 PP

如果存在,还需要输出最少的魔法变换次数,否则输出-1

输入格式

测试数据格式如下: 第一行一个整数 nn1n91 \leq n \leq 9),第二行 nn 个整数 p1,p2,,pnp_1, p_2, \ldots, p_n,表示目标排列。

输出格式

如果不存在满足条件的变换序列,输出 -1 如果存在,输出最少的魔法变换次数。

样例输入

3
3 2 1

样例输出

2

样例解释

第一组数据: 初始序列: [1,2,3] 目标序列: [3,2,1] 一种最少次数变换过程: 第一次循环变换区间(1,3): [3,1,2] 第二次循环变换区间(2,3): [3,2,1]

2026 XAUT 西安理工大学新生赛-同步赛 & XJSACM Round 1

未参加
状态
已结束
规则
ACM/ICPC
题目
15
开始于
2026-1-11 13:00
结束于
2026-1-11 18:00
持续时间
5 小时
主持人
参赛人数
6