#P14797. [JOI 2026 二次预选] JOI 消去器 / JOI Eliminator

[JOI 2026 二次预选] JOI 消去器 / JOI Eliminator

题目描述

J,O,I\texttt{J}, \texttt{O}, \texttt{I} 构成的长度为 NN 的字符串 SS 存在。
JOI 君对字符串 SS 重复进行如下操作,直到无法再进行任何操作为止。

  • SS 中选择一处 J,O,I\texttt{J}, \texttt{O}, \texttt{I} 按此顺序连续排列的部分,并将该部分替换为 O,I,J\texttt{O}, \texttt{I}, \texttt{J} 的排列。

可以证明,操作的重复必定会结束,并且无论操作方式如何,最终字符串的状态都是唯一确定的。

给出初始字符串 SS 的信息时,请编写程序求出最终的字符串 SS

输入格式

输入按如下格式给出。

NN
SS

输出格式

将最终的字符串 SS 用一行输出。

6
JOIJOI 
OIOIJJ
8
JJJOIOIO
OIOIJJJO
20
JJOIJOIJOOIJOIIJJOIO
OIOIJJJJOOIOIJIOIJJO

提示

样例解释

样例 11 解释

例如,可以考虑 JOI 君如下进行操作。

最初,S=JOIJOIS = \texttt{JOIJOI}

  • 对第 11 个字符到第 33 个字符进行操作。S=OIJJOIS = \texttt{OIJJOI}
  • 对第 44 个字符到第 66 个字符进行操作。S=OIJOIJS = \texttt{OIJOIJ}
  • 对第 33 个字符到第 55 个字符进行操作。S=OIOIJJS = \texttt{OIOIJJ}

由于无法再进行更多操作,因此输出 OIOIJJ\texttt{OIOIJJ}

该样例输入满足子任务 1,2,41, 2, 4 的约束。

样例 22 解释

该样例输入满足子任务 1,3,41, 3, 4 的约束。

样例 33 解释

该样例输入满足子任务 1,41, 4 的约束。

约束

  • 3N5000003 \le N \le 500\,000
  • SS 是由 J,O,I\texttt{J}, \texttt{O}, \texttt{I} 构成的长度为 NN 的字符串。
  • NN 是整数。

子任务

  • (14 分)N100N \le 100
  • (27 分)NN33 的倍数,并且 SS 是将 JOIJOI 重复 N/3N / 3 次得到的字符串。
  • (29 分)存在某个整数 kk2kN2 \le k \le N),使得从 SS 的第 11 个字符到第 kk 个字符全都是 J\texttt{J},而从第 k+1k + 1 个字符开始之后都不是 J\texttt{J}
  • (30 分)无额外约束。