โจทย์ปัญหา
มีสตริง $S$ ความยาว $N$ ที่ประกอบด้วย J, O และ I JOI-kun จะทำซ้ำการดำเนินการต่อไปนี้กับสตริง $S$ จนกว่าจะไม่สามารถดำเนินการได้อีก:
- เลือกตำแหน่งใน $S$ จำนวน $1$ แห่งที่มี
J,OและIเรียงติดกันตามลำดับนี้ แล้วแทนที่ส่วนนั้นด้วยO,IและJตามลำดับ
สามารถพิสูจน์ได้ว่าการทำซ้ำการดำเนินการจะสิ้นสุดลงเสมอ และสถานะสุดท้ายของสตริงจะถูกกำหนดได้เพียงแบบเดียวไม่ว่าจะเลือกดำเนินการอย่างไร
เมื่อกำหนดข้อมูลของสตริงเริ่มต้น $S$ จงเขียนโปรแกรมเพื่อหาสตริงสุดท้าย $S$
ขีดจำกัด
- $3 \le N \le 500000$
- $S$ เป็นสตริงความยาว $N$ ที่ประกอบด้วย
J,OและI - $N$ เป็นจำนวนเต็ม
งานย่อย
- ($14$ คะแนน) $N \le 100$
- ($27$ คะแนน) $N$ เป็นพหุคูณของ $3$ และ $S$ คือ
JOIที่ทำซ้ำ $N / 3$ ครั้ง - ($29$ คะแนน) มีจำนวนเต็ม $k$ ($2 \le k \le N$) ที่ทำให้อักขระตัวที่ $1$ ถึงตัวที่ $k$ ของ $S$ เป็น
Jทั้งหมด ในขณะที่อักขระตัวที่ $(k + 1)$ เป็นต้นไปไม่ใช่J - ($30$ คะแนน) ไม่มีข้อจำกัดเพิ่มเติม
ข้อมูลนำเข้า
ข้อมูลนำเข้าจะถูกกำหนดให้จากข้อมูลนำเข้ามาตรฐานในรูปแบบต่อไปนี้:
N S
ข้อมูลส่งออก
พิมพ์สตริงสุดท้าย $S$ ใน $1$ บรรทัดไปยังข้อมูลส่งออกมาตรฐาน
ตัวอย่าง
ตัวอย่างข้อมูลนำเข้า 1
6 JOIJOI
ตัวอย่างข้อมูลส่งออก 1
OIOIJJ
ตัวอย่างเช่น JOI-kun อาจดำเนินการดังต่อไปนี้
เริ่มต้น $S =$ JOIJOI
- ดำเนินการกับอักขระตัวที่ $1$ ถึงตัวที่ $3$ จะได้ $S =$
OIJJOI - ดำเนินการกับอักขระตัวที่ $4$ ถึงตัวที่ $6$ จะได้ $S =$
OIJOIJ - ดำเนินการกับอักขระตัวที่ $3$ ถึงตัวที่ $5$ จะได้ $S =$
OIOIJJ
เนื่องจากไม่สามารถดำเนินการได้อีก จึงพิมพ์ OIOIJJ
ตัวอย่างข้อมูลนำเข้านี้สอดคล้องกับข้อจำกัดของงานย่อยที่ $1, 2, 4$
ตัวอย่างข้อมูลนำเข้า 2
8 JJJOIOIO
ตัวอย่างข้อมูลส่งออก 2
OIOIJJJO
ตัวอย่างข้อมูลนำเข้านี้สอดคล้องกับข้อจำกัดของงานย่อยที่ $1, 3, 4$
ตัวอย่างข้อมูลนำเข้า 3
20 JJOIJOIJOOIJOIIJJOIO
ตัวอย่างข้อมูลส่งออก 3
OIOIJJJJOOIOIJIOIJJO
ตัวอย่างข้อมูลนำเข้านี้สอดคล้องกับข้อจำกัดของงานย่อยที่ $1, 4$