AT_acl1_f Center Rearranging

题目描述

给定两个长度为 $3N$ 的数列 $A$ 和 $B$。这两个数列都恰好包含 $1, 2, \dots, N$ 各 $3$ 个。换句话说,它们都是 $(1, 1, 1, 2, 2, 2, \dots, N, N, N)$ 的某种排列。 高桥君可以对数列 $A$ 任意多次进行如下操作: - 从 $1, 2, \dots, N$ 中选择一个值 $x$。$A$ 中恰好有 $3$ 个 $x$,将其中的中间一个 $x$ 删除。然后,在 $A$ 的开头或末尾添加一个 $x$。 请判断是否可以将 $A$ 变换成 $B$。如果可以,请输出所需的最小操作次数;如果不可以,请输出 $-1$。

输入格式

$N\ A_1\ A_2\ \dots\ A_{3N}\ B_1\ B_2\ \dots\ B_{3N}$

输出格式

如果可以变换,则输出最小操作次数;如果不可以,则输出 $-1$。

说明/提示

### 限制条件 - $1 \leq N \leq 33$ - $A$ 和 $B$ 都是 $(1, 1, 1, 2, 2, 2, \dots, N, N, N)$ 的某种排列。 - 输入的所有数都是整数。 ### 样例解释 1 例如,可以按如下方式操作: - `2 3 1 1 3 2 2 1 3`(初始状态) - 选择 $x = 2$,在开头添加,得到 `2 2 3 1 1 3 2 1 3` - 选择 $x = 1$,在末尾添加,得到 `2 2 3 1 3 2 1 3 1` - 选择 $x = 1$,在开头添加,得到 `1 2 2 3 1 3 2 3 1` - 选择 $x = 3$,在末尾添加,得到 `1 2 2 3 1 2 3 1 3` 由 ChatGPT 4.1 翻译