雪花序列的魔法变换
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目背景
慕雪少年遇到了一群飞舞的雪花精灵。每个雪花精灵都有一个独特的魔法编号,编号范围从 到 。这些精灵正在进行一场神秘的魔法仪式,仪式中精灵们会进行特殊的"魔法变换"。
根据古老的雪花预言,只有当所有雪花精灵通过一系列魔法变换后,能够形成一个特定的魔法序列,才能激活隐藏在冰晶中的传送阵。
题目描述
有 个雪花精灵,初始时第 个精灵的魔法编号为 。定义以下魔法变换:
循环变换:选择一个区间 (),将区间内的所有精灵向右循环移动一位,即位置 的精灵移动到位置 ,位置 到 的精灵各自向右移动一位。
现在给出一个目标序列 ,这是一个 到 的排列。
你的任务是判断:是否存在一种魔法变换序列(可以使用任意多次循环变换),使得最终序列恰好为 。
如果存在,还需要输出最少的魔法变换次数,否则输出-1。
输入格式
测试数据格式如下: 第一行一个整数 (),第二行 个整数 ,表示目标排列。
输出格式
如果不存在满足条件的变换序列,输出 -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