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 自动生成**