AT_joi2026_yo2_c JOI エリミネーター (JOI Eliminator)

题目描述

有一个由 `J`、`O`、`I` 组成的长度为 $N$ 的字符串 $S$。JOI 君会对字符串 $S$ 重复执行如下操作,直到无法再操作为止。 - 在 $S$ 中选择连续出现一次 `J`、`O`、`I`(顺序为 `J`,`O`,`I`)的位置,将其替换为 `O`、`I`、`J` 的顺序。 可以证明,操作一定会终止,并且不管每次选择哪一处进行操作,最终得到的字符串都是唯一的。 给定初始字符串 $S$ 的信息,请编写程序输出最终得到的字符串 $S$。

输入格式

输入按以下格式给出。 > $N$ $S$

输出格式

请输出最终得到的字符串 $S$,占一行。

说明/提示

## 子任务 1.($14$ 分)$N \leq 100$。 2.($27$ 分)$N$ 是 $3$ 的倍数,$S$ 是 `JOI` 重复 $N / 3$ 次得到的字符串。 3.($29$ 分)存在整数 $k \ (2 \leq k \leq N)$,使得 $S$ 的第 $1$ 到第 $k$ 个字符全是 `J`,而第 $k+1$ 个字符及之后的字符均不是 `J`。 4.($30$ 分)无额外约束。 ## 样例解释 1 例如,JOI 君可以按如下方式操作: 初始时,$S = $ `JOIJOI`。 1. 对第 $1$ 到第 $3$ 个字符操作后,$S = $ `OIJJOI`。 2. 对第 $4$ 到第 $6$ 个字符操作后,$S = $ `OIJOIJ`。 3. 对第 $3$ 到第 $5$ 个字符操作后,$S = $ `OIOIJJ`。 此时无法再进行操作,因此输出 `OIOIJJ`。 这个输入满足子任务 $1,2,4$ 的约束条件。 ## 样例解释 2 该输入满足子任务 $1,3,4$ 的约束条件。 ## 样例解释 3 该输入满足子任务 $1,4$ 的约束条件。 ## 数据范围 - $3 \leq N \leq 500\,000$。 - $S$ 是由 `J`、`O`、`I` 组成的长度为 $N$ 的字符串。 - $N$ 为整数。 由 ChatGPT 5 翻译