วันนี้ความท้าทายของคุณคือการผลิตวงเล็บที่เป็นไปได้ทั้งหมดของการแสดงออก
การป้อนข้อมูลของคุณเป็น ASCII ที่พิมพ์ได้บรรทัดเดียวที่มีหนึ่งคำหรือมากกว่านั้นคั่นด้วยเครื่องหมาย อินพุตอาจมีช่องว่าง - คุณต้องละเว้นสิ่งเหล่านี้ คำที่เป็นผู้ประกอบการคือ[a-zA-Z0-9]
[^ ()a-zA-Z0-9]
คุณอาจคิดว่าอินพุตนั้นถูกต้องเสมอ
เอาท์พุทวิธีที่เป็นไปได้ทั้งหมดในการวงเล็บนิพจน์ที่กำหนดโดยคั่นด้วยการขึ้นบรรทัดใหม่ด้วยการขึ้นบรรทัดใหม่ที่เป็นตัวเลือก
ทำไม่ได้ :
- คำศัพท์วงเล็บ - วงเล็บเท่านั้นรอบตัวดำเนินการ
- เรียงลำดับเงื่อนไขใหม่
- ส่งออกช่องว่างใด ๆ
ตัวอย่างอินพุต / เอาต์พุต:
N
N
a * b
(a*b)
x_x_0
(x_(x_0))
((x_x)_0)
a * b|c|d
(a*(b|(c|d)))
(a*((b|c)|d))
((a*b)|(c|d))
((a*(b|c))|d)
(((a*b)|c)|d)
รหัสที่เล็กที่สุดเป็นไบต์ชนะ
!
เหมาะกับ regex ↑
อย่างไรก็ตาม↑
ไม่สามารถเป็นส่วนหนึ่งของอินพุตได้เพราะมันไม่สามารถพิมพ์ได้ ASCII
!
ผู้ประกอบการ? เกี่ยวกับ↑
อะไร