ความชั่วร้ายของการเขียนโปรแกรมภาษาลึกลับมีการดำเนินการที่น่าสนใจเกี่ยวกับค่าไบต์ซึ่งเรียกว่า "การทอผ้า" มันคือการเปลี่ยนรูปแบบของบิตที่แปดของไบต์ (มันไม่สำคัญว่าเราจะเริ่มนับจากจุดสิ้นสุดเนื่องจากรูปแบบสมมาตร):
- บิต 0 ถูกย้ายไปที่บิต 2
- บิต 1 ถูกย้ายไปที่บิต 0
- ย้ายบิต 2 ไปเป็นบิต 4
- บิต 3 ถูกย้ายไปยังบิต 1
- บิต 4 ถูกย้ายไปยังบิต 6
- ย้ายบิต 5 ไปเป็นบิต 3
- บิต 6 ถูกย้ายไปยังบิต 7
- ย้ายบิต 7 ไปเป็นบิต 5
เพื่อความสะดวกนี่เป็นอีกสองแนวทางของการเปลี่ยนแปลง เป็นวงจร:
(02467531)
และเป็นรายการคู่ของแผนที่:
[[0,2], [1,0], [2,4], [3,1], [4,6], [5,3], [6,7], [7,5]]
งานของคุณคือเพื่อให้มองเห็นการเปลี่ยนแปลงนี้โดยใช้ตัวอักษรที่กล่องวาดภาพ─
, │
, ┌
, ┐
, └
, ┘
, ┼
(Unicode จุดรหัส: U + 2500 U + 2502, U + 250C, U + 2510 U + 2514 U + 2518 U + 253C) การสร้างภาพข้อมูลนี้ควรเป็นไปตามข้อ จำกัด ดังต่อไปนี้:
บรรทัดแรกและบรรทัดสุดท้ายคือ:
0 1 2 3 4 5 6 7
ระหว่างนั้นคุณสามารถใช้หลายบรรทัดตามที่คุณต้องการได้สูงสุด 15 อักขระแต่ละตัวเพื่อให้พอดีกับอักขระการวาดกล่องของคุณ (คุณจะต้องมีอย่างน้อย 4 บรรทัด) บรรทัดควรเริ่มต้นในแนวตั้งภายใต้หนึ่งในตัวเลขในแถวแรกและสิ้นสุดในแนวตั้งเหนือตัวเลขที่สอดคล้องกันในแถวสุดท้าย ต้องต่อสายแปดเส้นและสามารถข้ามผ่านได้เท่านั้น┼
(ซึ่งเป็นจุดผ่านเสมอไม่ใช่เส้นเลี้ยวสองเส้นที่สัมผัส) เส้นทางที่แน่นอนของเส้นเหล่านั้นขึ้นอยู่กับคุณ ผลลัพธ์ที่ถูกต้องหนึ่งรายการคือ:
0 1 2 3 4 5 6 7
│ │ └─┼┐│ │ └┐│
└─┼─┐ ││└─┼─┐││
┌─┘ │ ││ │ │││
│ ┌─┼─┘│ │ │││
│ │ │ ┌┼──┘ │││
│ │ │ │└┐ ┌─┼┼┘
│ │ │ │ │ │ │└┐
0 1 2 3 4 5 6 7
อย่างไรก็ตามเค้าโครงอื่น ๆ ที่เชื่อมต่อตัวเลขที่ถูกต้องก็ใช้ได้เช่นกัน โปรดแสดงผลลัพธ์ที่คุณเลือกในคำตอบของคุณ
คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นและจะไม่รับข้อมูลใด ๆ เอาท์พุทแผนภาพไม่ว่าจะเป็น STDOUT (หรือทางเลือกที่ใกล้เคียงที่สุด) หรือเป็นค่าส่งคืนฟังก์ชันในรูปแบบของสตริงหรือรายการสตริง (แต่ละรายการแทนหนึ่งบรรทัด)
มีการใช้กฎมาตรฐานของgolf-golfดังนั้นรหัสที่สั้นที่สุด (เป็นไบต์) จะเป็นผู้ชนะ
01234567
เป็น input และจากนั้นเชื่อมต่อที่จะ01234567
? เพื่อที่คุณจะต้องคิดออกลิงค์ด้วยตัวเอง? มันจะเป็นงานที่ท้าทายมากขึ้นโดยเฉพาะอย่างยิ่งสำหรับการเล่นกอล์ฟ