AT_code_festival_2018_final_j Complicated Operations
题目描述
给定两个长度为 $N$ 的数列:$S_0$ 和 $T$。这里 $N$ 可以表示为某个自然数 $r$ 的 $2^r$。
你可以进行 $0$ 到 $500$ 次的操作。你的目标是在 $k$ 次操作后,使得数列 $S_k$ 与数列 $T$ 完全一致。
每次操作按以下步骤进行:
1. 选择满足 $0 \leq x < i$ 和 $0 \leq y < i$ 的整数 $x, y$,同时选择满足 $-(N-1) \leq f \leq N-1$ 的整数 $f$。
2. 选择一个仅由 `x` 和 `y` 组成的长度为 $N$ 的字符串 $s$。
3. 使用 $x, y, f, s$ 构造新的数列 $S_i$:
- 若 $s_j$ 是 `x`,则 $S_{i,j} = S_{x,j}$。
- 若 $s_j$ 是 `y`,则 $S_{i,j} = S_{y, j-f}$。这里需要保证 $1 \leq j-f \leq N$。
在满足目标的情况下,给出一种可行的操作方案。如果目标无法实现,则输出 `-1`。
输入格式
输入按如下格式给出:
> $N$ $S_{0,1}$ $S_{0,2}$ $\ldots$ $S_{0,N}$ $T_1$ $T_2$ $\ldots$ $T_N$
输出格式
如果无法实现目标,请输出 `-1`。
如果目标可实现,输出操作方案。只要操作序列满足题目约定,并且 $S_K = T$,即为正确答案。
> $K$ $x_1$ $y_1$ $f_1$ $s_1$ $:$ $x_K$ $y_K$ $f_K$ $s_K$
说明/提示
- $2 \leq N \leq 8192$
- $1 \leq S_{0,j}, T_j \leq N$
- $N$ 为 $2^r$ 的形式
- 所有输入均为整数
### 示例说明 1
- 第 1 次操作选择 $x=0, y=0, f=1, s=$`xxyx`。
- $S_{1,1}, S_{1,2}, S_{1,4}$ 分别与 $S_{0,1}, S_{0,2}, S_{0,4}$ 相同,$S_{1,3} = S_{0,2}$。因此,$S_1 = (1, 2, 2, 4)$。
- 第 2 次操作选择 $x=0, y=1, f=-2, s=$`yyxx`。
- $S_{2,3}$ 和 $S_{2,4}$ 与 $S_{0,3}$ 和 $S_{0,4}$ 相同,$S_{2,1}$ 和 $S_{2,2}$ 则与 $S_{1,3}$ 和 $S_{1,4}$ 相同。因此,$S_2 = (2, 4, 3, 4)$。
- 由于 $S_2 = T$,所以这是一个合理的操作方案。
### 示例说明 2
- 若无法实现目标,请输出 `-1`。
**本翻译由 AI 自动生成**