गूढ़ प्रोग्रामिंग भाषा बुराई का बाइट मूल्यों पर एक दिलचस्प ऑपरेशन है जिसे वह "बुनाई" कहता है। यह अनिवार्य रूप से बाइट के आठ बिट्स का क्रमपरिवर्तन है (यह कोई मायने नहीं रखता कि हम किस गिनती से शुरू करते हैं, क्योंकि पैटर्न सममित है):
- बिट 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]]
आपका काम इस परिवर्तन कल्पना करने के लिए, बॉक्स-ड्राइंग अक्षरों का उपयोग है ─
, │
, ┌
, ┐
, └
, ┘
, ┼
(यूनिकोड कोड अंक: U + 2500, U + 2502, U + 250C, U + 2510, U + 2514, U + 2518, यू + 253C)। इस दृश्य को निम्नलिखित बाधाओं को पूरा करना चाहिए:
पहली और आखिरी पंक्ति बिल्कुल:
0 1 2 3 4 5 6 7
उन दोनों के बीच, आप अपने बॉक्स ड्राइंग वर्णों को फिट करने के लिए 15 से अधिक वर्णों का उपयोग कर सकते हैं (आपको कम से कम दो लाइनों की आवश्यकता होगी)। पंक्तियों को पहली पंक्ति में किसी एक अंक के नीचे लंबवत शुरू करना चाहिए और अंतिम पंक्ति पर संबंधित अंक के ऊपर लंबवत समाप्त होना चाहिए। आठ लाइनों को जोड़ा जाना चाहिए, और केवल ┼
(जो हमेशा एक क्रॉसिंग है, कभी भी दो मोड़ वाली रेखाएं जो स्पर्श नहीं कर रही हैं) से पार हो सकती हैं। लाइनों के सटीक मार्ग आपके ऊपर हैं (और विशेष रूप से गोल्फ लेआउट खोजने के लिए इस चुनौती का मूल है)। एक मान्य आउटपुट होगा:
0 1 2 3 4 5 6 7
│ │ └─┼┐│ │ └┐│
└─┼─┐ ││└─┼─┐││
┌─┘ │ ││ │ │││
│ ┌─┼─┘│ │ │││
│ │ │ ┌┼──┘ │││
│ │ │ │└┐ ┌─┼┼┘
│ │ │ │ │ │ │└┐
0 1 2 3 4 5 6 7
हालांकि, कोई भी अन्य लेआउट जो सही अंकों को सही ढंग से जोड़ता है वह भी ठीक है। कृपया अपने उत्तर में अपना चुना हुआ आउटपुट दिखाएं।
आप एक प्रोग्राम या फ़ंक्शन लिख सकते हैं और कोई इनपुट नहीं लेंगे। आरेख को या तो STDOUT (या निकटतम विकल्प) या एक स्ट्रिंग या एक तार की सूची के रूप में फ़ंक्शन रिटर्न मान के रूप में आउटपुट करें (प्रत्येक एक पंक्ति का प्रतिनिधित्व करता है)।
मानक कोड-गोल्फ नियम लागू होते हैं, इसलिए सबसे छोटा कोड (बाइट्स में) जीतता है।
01234567
इनपुट के रूप में क्रमचय लेने और फिर उस से कनेक्ट करने के बारे में कैसे 01234567
? ताकि आपको स्वयं लिंक का पता लगाना पड़े? यह विशेष रूप से गोल्फिंग के लिए एक कार्य को और अधिक चुनौतीपूर्ण होगा।