#P15647. [ICPC 2022 Tehran R] Magic with Cards

[ICPC 2022 Tehran R] Magic with Cards

题目描述

Mahsa 已经练习洗牌好几个月了。今晚,她终于决定邀请朋友们过来,展示她的新技能。于是她拿起一副有 2n2n 张牌的牌堆,在不改变牌堆顺序的情况下向朋友们展示了牌面,并请某人选择牌堆中的两个位置 iijj。然后,她告诉大家,她将只通过应用两种洗牌方式,把第 ii 个位置的牌移动到第 jj 个位置。

假设牌堆中的牌为 c1,c2,,c2n\langle c_{1}, c_{2}, \ldots, c_{2n} \rangle。Mahsa 可以任意多次执行以下两种洗牌:

  • Riffle(交错洗牌): 将牌分成两部分 c1,,cn\langle c_{1}, \ldots, c_{n} \ranglecn+1,,c2n\langle c_{n+1}, \ldots, c_{2n} \rangle,然后产生 $\langle c_{1}, c_{n+1}, c_{2}, c_{n+2}, \ldots, c_{n}, c_{2n} \rangle$。
  • Scuffle(对调洗牌):c1,c2,,c2n\langle c_{1}, c_{2}, \ldots, c_{2n} \rangle 产生 $\langle c_{2}, c_{1}, c_{4}, c_{3}, \ldots, c_{2n}, c_{2n-1} \rangle$。

请帮助 Mahsa 找出她需要的最少洗牌次数,剩下的部分她自己会搞定。

输入格式

输入包含一行,由三个空格分隔的整数 nniijj 组成(1n1051 \leq n \leq 10^{5}1i,j2n1 \leq i, j \leq 2n)。

输出格式

输出一个整数,表示将第 ii 张牌带到第 jj 个位置所需的最少洗牌次数。如果不可能做到,则输出 1-1

4 3 8
3
5 4 1
5
1 1 1 
0

提示

翻译由 DeepSeek V3.2 完成