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测评打分。不知道怎么写?