AT_xmascon22_c.Conditional Swap

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定 $ (1,2,\ldots,N) $ 的排列 $ P=(P_1,P_2,\ldots,P_N) $ 和 $ Q=(Q_1,Q_2,\ldots,Q_N) $。请判断能否通过不超过 $ N^2 $ 次如下操作,将 $ P $ 变为 $ Q $,如果可以,请给出一种操作序列。

  • 每一次可以选择一个整数 $ i $,使得下述条件至少满足一项,并交换 $ P_i $ 与 $ P_{i+1} $ 的值。
    • $ 1 \leq i \leq N-2 $ 且 $ \min(P_i,P_{i+1}) < P_{i+2} < \max(P_i,P_{i+1}) $
    • $ 2 \leq i \leq N-1 $ 且 $ \min(P_i,P_{i+1}) < P_{i-1} < \max(P_i,P_{i+1}) $

输入格式

输入按以下格式给出:

$ N $ $ P_1 $ $ P_2 $ $ \cdots $ $ P_N $ $ Q_1 $ $ Q_2 $ $ \cdots $ $ Q_N $

输出格式

如果可以将 $ P $ 变为 $ Q $,按以下格式输出操作序列:

$ k $ $ i_1 $ $ i_2 $ $ \cdots $ $ i_k $

其中 $ k $ 是操作的次数($ 0 \leq k \leq N^2 ),), i_j $ 表示第 $ j $ 次操作选择 $ i=i_j $。

如果不能将 $ P $ 变为 $ Q $,输出 -1。

输入输出样例

  • 输入#1

    3
    2 1 3
    2 3 1

    输出#1

    1
    2
  • 输入#2

    3
    1 2 3
    1 3 2

    输出#2

    -1

说明/提示

数据范围

  • $ 2 \leq N \leq 1000 $
  • $ (P_1,P_2,\ldots,P_N) $ 是 $ (1,2,\ldots,N) $ 的一个排列。
  • $ (Q_1,Q_2,\ldots,Q_N) $ 是 $ (1,2,\ldots,N) $ 的一个排列。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页