这四种情况其实可以变为两种情况,根据操作数的奇偶性来决定。所以可以从排列有序开始,暴力计算 n 在排列中的下标,而 n 在排列中的下标一定是不同的。因为若存在两个有解的排列且 n 在这两个排列中的下标相同同,根据 n\bmod2=0 的方法,将这个排列拆成前后两个部分可以证明这两个排列一定相同。
所以直接模拟 n 的下标,若 n 的下标和排列中的相同,则记录下当前的操作次数。将操作 2 开始的情况和操作 1 开始的情况各模拟一遍即可。
难点就来到了判无解,由于排列的置换满足结合律,所以可以用快速幂解决。或者把排列拆分成多个环,依次操作每个环。若最后与排列相同则有解。