![]() |
|
2025年12月15日
情報オリンピック日本委員会
|
J, O, I からなる長さ N の文字列 S がある.
JOI 君は文字列 S に対して,以下の操作をそれ以上操作が行えなくなるまで繰り返す.
J, O, I がこの順で連続して並んでいる箇所を 1 つ選び,その部分を O, I, J の並びに置き換える.操作の繰り返しは必ず終了し,また操作の方法によらず最終的な文字列の状態が一意に定まることが証明できる.
はじめの文字列 S の情報が与えられたとき,最終的な文字列 S を求めるプログラムを作成せよ.
J, O, I からなる長さ N の文字列である.JOI を N / 3 回繰り返したものである.J であり,一方 k + 1 文字目以降は J でない.
入力は以下の形式で与えられる.
N
S
最終的な文字列 S を 1 行で出力せよ.
入力例 1
6
JOIJOI
出力例 1
OIOIJJ
例えば,以下のように JOI 君が操作を行うことが考えられる.
最初,S = JOIJOI である.
OIJJOI となる.OIJOIJ となる.OIOIJJ となる.
これ以上操作を行うことはできないため,OIOIJJ を出力する.
この入力例は小課題 1,2,4 の制約を満たす.
入力例 2
8
JJJOIOIO
出力例 2
OIOIJJJO
この入力例は小課題 1,3,4 の制約を満たす.
入力例 3
20
JJOIJOIJOOIJOIIJJOIO
出力例 3
OIOIJJJJOOIOIJIOIJJO
この入力例は小課題 1,4 の制約を満たす.