CF814B An express train to reveries

发布时间 2023-10-17 16:33:28作者: 御坂夏铃

思维好题,保证有解大大降低了代码难度。

显然最多有两个位置不同,不然根据鸽巢原理一定有一个序列不同位置超过一个。

然后大力分类讨论:

  • 仅有一个位置不同。此时其余位置与排列相同,否则一定有一个序列不同位置超过一个。然后将没有用过的那个数丢到这个位置即可。
  • 有两个位置不同。此时其余位置显然也与排列相同。构造方案就枚举第一个序列与排列相同的那个位置,也就两种情况。