พื้นหลัง
แรงบันดาลใจจากฉันเป็นสีขาว คุณเป็น ที่ซึ่งมีการนำเสนอข้อเท็จจริงที่น่าตกใจว่า“ ()()
ไม่ใช่ Palindrome แต่())(
” ฉันถามตัวเองว่าอะไรคือ()()
คำตอบคือ: มันเป็นสตริงที่มีแกนสมมาตรในแนวตั้ง!
งาน
เขียนโปรแกรมหรือฟังก์ชั่นที่รับสตริง S (หรือเทียบเท่าที่เหมาะสมในภาษาของคุณ) เป็นอินพุตตรวจสอบความสมมาตรตามแกนตั้งและส่งกลับค่าความจริงหรือค่าเท็จตามลำดับ คุณสามารถใช้วิธีการที่สมเหตุสมผลเพื่อรับอินพุตและจัดเตรียมเอาต์พุต
สมมาตรสะท้อนแสง
การสะท้อนสมมาตรรอบแกนตั้ง (หรือสมมาตรซ้ายขวา) หมายความว่าหากคุณวางกระจกในแนวตั้งตรงกึ่งกลางของสตริงภาพสะท้อนของครึ่งแรกของสตริงจะเหมือนกับครึ่งหลังของสตริง
ตัวอย่างเช่นสตริงต่อไปนี้เป็นสมมาตรการสะท้อนรอบแกนตั้ง:
()()
()()()
[A + A]
WOW ! WOW
OH-AH_wx'xw_HA-HO
(<<[[[T*T]]]>>)
(:)
)-(
())(()
qpqp
ในขณะที่ต่อไปนี้ไม่:
())(
((B))
11
+-*+-
WOW ! wow
(;)
qppq
กฎของการแข่งขัน
•โปรแกรมหรือฟังก์ชั่นของคุณจะได้รับเฉพาะอักขระ ASCII ที่พิมพ์ได้ คุณสามารถรวมหรือไม่ใช้สตริงว่าง (ซึ่งเป็นสมมาตรแน่นอน!) เป็นอินพุตทางกฎหมายซึ่งดีกว่าสำหรับคุณ
•อักขระ ASCII ที่ถือได้ว่าสมมาตรเทียบกับแกนแนวตั้งมีดังต่อไปนี้ (หมายเหตุช่องว่างเริ่มต้นและความแตกต่างระหว่างตัวอักษรตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก):
!"'+*-.:=AHIMOTUVWXY^_ovwx|
อักขระ ASCII ที่ถือเป็น“ มิร์เรอร์” และอักขระที่เกี่ยวข้องคือ:
()<>[]{}qpbd/\
โปรดทราบว่าเนื่องจากพวกเขาจะสะท้อนคุณสามารถมีทั้งสอง()
เช่นเดียวกับ)(
, /\
และ\/
อื่น ๆ
อักขระ ASCII ที่พิมพ์ได้อื่นทั้งหมดต้องถูกพิจารณาแบบไม่สมมาตรและไม่มีอักขระที่สอดคล้องกันแบบมิรเรอร์
•นี่เป็นความท้าทายของรหัส - กอล์ฟ : ยิ่งโปรแกรมของคุณสั้นลงเท่าไหร่ก็ยิ่งดีขึ้นในภาษาโปรแกรมใด ๆ
•ความรุ่งโรจน์ต่อคนที่จะสร้างโปรแกรมสมมาตร!
หมายเหตุ : คำถามนี้ไม่ได้ซ้ำกับ"Convenient Palindrome"ซึ่งต้องการตรวจสอบสตริง palindromic ที่วงเล็บถูกพลิกคำถามนี้แตกต่างกันด้วยเหตุผลสองประการ:
1) เป็นข้อ จำกัด ของคำถามอื่น ๆ สำหรับสิ่งที่เกี่ยวข้องกับอักขระที่ไม่ใช่วงเล็บเนื่องจากอักขระที่สมมาตรสามารถปรากฏในลำดับย้อนกลับได้
2) เนื่องจากมันขึ้นอยู่กับแนวคิดของความสมมาตรและไม่ได้อยู่ในแนวคิดของ "palindrome สะดวกสบาย", อักขระที่มิเรอร์จึงสามารถปรากฏได้ทั้งในลำดับ[]
และ][
และทำให้โปรแกรมเพื่อแก้ปัญหาต่างจากโปรแกรมที่แก้ปัญหาอื่น ๆ .
8
ถือว่าเป็น "สมมาตร"