AT_ttpc2024_2_h TTPC Never Ends
题目描述
编程竞赛简称生成器 $\mathrm{M}$ 拥有一个由大写字母构成的长度为 $N$ 的字符串 $S$ 和一个长度为 $N$ 的整数序列 $A = (A_1, A_2, \dots, A_N)$。此外,$\mathrm{M}$ 配有四个光标,编号分别为 $1$ 到 $4$,用来指向字符串 $S$ 中的字符。初始时,光标 $i$ 位于 $S$ 的第 $x_i$ 个字符处,其中 $i = 1, 2, 3, 4$。
生成器 $\mathrm{M}$ 上有两个按钮:**确定简称按钮** 和 **更新按钮**。每个按钮的功能如下:
- **确定简称按钮**:此按钮输出由光标 $1, 2, 3, 4$ 当前指向的字符依次构成的长度为 $4$ 的字符串。
- **更新按钮**:对光标 $i (i = 1, 2, 3, 4)$ 执行:
- 如果光标 $i$ 当前指向 $S$ 的第 $y$ 个字符,则光标 $i$ 将移动到 $S$ 的第 $A_y$ 个字符。
在按下确定简称按钮后得到的字符串被确定为今年的编程竞赛简称 `TTPC`(即从现在算起 $0$ 年后)。
今后,每年的编程竞赛简称通过以下步骤生成:
1. 按下更新按钮。
2. 按下确定简称按钮,获得该年的简称。
请确定最后一次简称为 `TTPC` 是从现在算起多少年后会发生?若没有终结,则输出 `NeverEnds`。
输入格式
输入由以下行组成:
> $ N $ $ S $ $ A_1 $ $ A_2 $ $ \dots $ $ A_N $ $ x_1 $ $ x_2 $ $ x_3 $ $ x_4 $
输出格式
输出满足以下条件的非负整数 $k$。若无此类 $k$ 存在,则输出 `NeverEnds`。
- 在第 $k$ 年时,简称是 `TTPC`。
- 对于所有大于 $k$ 的整数 $l$,在第 $l$ 年时,简称都不是 `TTPC`。
说明/提示
- $ N, A_i, x_1, x_2, x_3, x_4 $ 为整数
- $ 3 \le N \le 50 $
- $ S $ 是由大写字母组成的长度为 $N$ 的字符串
- $ 1 \le A_i \le N\, (1 \le i \le N) $
- $ 1 \le x_1, x_2, x_3, x_4 \le N $
- $ S_{x_1} = \text{T}, S_{x_2} = \text{T}, S_{x_3} = \text{P}, S_{x_4} = \text{C} $
### 样例解释 1
- 从现在起 $0$ 年后,简称是 `TTPC`,光标位置是 $(1, 2, 4, 5)$。
- 从现在起 $1$ 年后,简称是 `TTPC`,光标位置是 $(2, 3, 4, 5)$。
- 从现在起 $2$ 年后,简称是 `TPPC`,光标位置是 $(3, 4, 4, 5)$。
- 从现在起 $3$ 年后,简称是 `PPPC`,光标位置是 $(4, 4, 4, 5)$。
最后一次为 `TTPC` 是在第 $1$ 年。
### 样例解释 2
在 $0, 4, 8, 12, \dots$ 年后,简称始终是 `TTPC`,因此 `TTPC` 永远不会结束。
**本翻译由 AI 自动生成**