कार्य
एक स्ट्रिंग को एनकोड करें जिसमें पूरी तरह से अपरकेस अल्फाबेट्स ( A-Z
) केवल ज़ीरो और लोगों का उपयोग करके, अपनी खुद की पसंदीदा स्कीम का उपयोग करके हो। लेकिन नियम इतना आसान नहीं है!
नियम
- आपके प्रोग्राम / फ़ंक्शन को सही ढंग से लंबाई 8 के किसी भी वैध इनपुट स्ट्रिंग को संभालना चाहिए ।
- सभी इनपुट के लिए परिणाम की लंबाई समान होनी चाहिए।
- अलग-अलग इनपुट के लिए परिणाम अलग-अलग होने चाहिए।
- परिणाम यथासंभव कम होने चाहिए।
- परिणाम शून्य-एक संतुलित होना चाहिए (शून्य की तरह लोगों की संख्या )। उन्हें बराबर (यानी पूरी तरह संतुलित) नहीं होना है, लेकिन आपके स्कोर को इसके लिए दंडित किया जाएगा।
आपको कोई प्रोग्राम / फ़ंक्शन प्रदान नहीं करना है जो आपके एन्कोडिंग को डिकोड करता है।
इनपुट और आउटपुट
- आप इसके बजाय 26 अलग मुद्रण योग्य ASCII वर्णों के किसी भी सेट को स्वीकार करने का निर्णय ले सकते हैं
A-Z
। - आप के बजाय और मुद्रण योग्य ASCII वर्णों की किसी भी जोड़ी को आउटपुट करने का निर्णय ले सकते हैं ।
0
1
- आपको बिट स्ट्रिंग के बजाय पूर्णांक आउटपुट करने की अनुमति नहीं है , क्योंकि इसमें अग्रणी शून्य हो सकता है और यह स्पष्ट नहीं है कि क्या आप वास्तव में नियम 2 से मिले हैं।
- यदि आप डिफ़ॉल्ट (
A-Z
इनपुट और01
आउटपुट) से विचलन करने का निर्णय लेते हैं , तो आपको अपने सबमिशन में इनपुट / आउटपुट कैरेक्टर सेट को निर्दिष्ट करना होगा।
स्कोरिंग
- बेस स्कोर: कोड आकार, या 1 यदि आपका कार्यक्रम खाली होता है।
- दंड
- लंबाई के लिए जुर्माना: गुणा
1.5 ** (encoded length - 42)
- छोटे होने के लिए कोई बोनस नहीं है; 42 वर्णमाला आकार 26 के साथ 8-लंबाई के तार के पूरी तरह से संतुलित एन्कोडिंग के लिए न्यूनतम लंबाई है।
- असंतुलित होने के लिए दंड: क्रमशः, प्रत्येक आउटपुट में 1 और 0 की संख्या को गुणा और
2 ** max(abs(ones - zeros) for every valid input of length 8)
कहाँ किया जाता है।ones
zeros
- आपके सबमिशन को या तो सबसे खराब स्थिति का उदाहरण (इनपुट / आउटपुट) दिखाना होगा या पेनल्टी वैल्यू पर सैद्धांतिक स्पष्टीकरण देना होगा।
- लंबाई के लिए जुर्माना: गुणा
- सबसे कम स्कोर जीतता है।
उदाहरण प्रस्तुत करना
Hypothetical esolang, 0 बाइट्स, स्कोर 74733.8906
यहाँ एक काल्पनिक गढ़ है, जहाँ एक खाली प्रोग्राम बाइनरी में इनपुट के सभी ASCII कोडों को प्रिंट करता है।
उदाहरण के लिए, यदि आप AAAAAAAA
इनपुट के रूप में देते हैं , तो प्रोग्राम 1000001
पंक्ति में 8 बार प्रिंट होगा , अर्थात 10000011000001100000110000011000001100000110000011000001
।
इनपुट वर्णमाला को चुना जाता है CEFGIJKLMNQRSTUVXYZabcdefh
। इस तरह, सभी वर्ण बाइनरी में सात अंकों में बदल जाते हैं, और शून्य-एक मायने रखता है केवल एक प्रति चार (वे सभी तीन 1 है और चार 0 या इसके विपरीत जब बाइनरी में बदल जाते हैं)।
आउटपुट की लंबाई हमेशा 56 होती है, और सबसे खराब स्थिति असंतुलित होती है जैसे इनपुट्स पर CCCCCCCC
, जहां शून्य लोगों की तुलना में 8 गुना अधिक दिखाई देते हैं।
इसलिए, इस सबमिशन का स्कोर है 1.5 ** (56 - 42) * 2 ** 8 == 74733.8906
।