งาน
เขียนโปรแกรมหรือฟังก์ชั่นที่ได้รับสามสายA, B, C
สร้างสายออกที่แต่ละอินสแตนซ์ของB
ในA
ได้ถูกแทนที่ด้วยC
ซ้ำ การแทนที่แบบเรียกซ้ำหมายถึงการทำซ้ำการแทนที่โดยในแต่ละขั้นตอนอินสแตนซ์ที่ไม่ซ้ำซ้อนทั้งหมดของB
ในA
(เลือกอย่างตะกละตะกลามจากซ้ายไปขวา) จะถูกแทนที่ด้วยC
จนกว่าB
จะไม่มีอยู่ในA
นั้นอีก
Input / Output
- คุณสามารถใช้ใด ๆ ของ วิธีการเริ่มต้นสำหรับ I / O
- สตริงจะมีอักขระ ASCII ที่พิมพ์ได้เท่านั้น (และอาจมี ใด ๆ ก็ได้ )
B
จะไม่เป็นสตริงว่างเปล่าในขณะที่A
และC
อาจเป็น- สตริงจะถือว่าเป็นธรรมดาคุณไม่สามารถยกตัวอย่างเช่นถือว่า
B
เป็นรูปแบบ Regex - ชุดค่าผสมบางอย่างจะไม่สิ้นสุด โปรแกรมของคุณสามารถทำอะไรก็ได้ในกรณีเหล่านั้น
กรณีทดสอบ
สิ่งเหล่านี้อยู่ในรูปแบบ: A/B/C\nOutput
Hello, world!/world!/PPCG
Hello, PPCG
Uppercase is up/up/down
Uppercase is down
ababababa/aba/ccc
cccbcccba
delete/e/{empty string}
dlt
{empty string}/no/effect
{empty string}
llllrrrr/lr/rl
rrrrllll
+-+-+-+/+-+/+
+
ababababa/aba/bada
badabbadbada
abaaba/aba/ab
abb
((())())())/()/{empty string}
)
ตัวอย่างที่ไม่สิ้นสุด:
grow/ow/oow
loop/lo/lo
downpercase is down
((())())())/()/