आपका कार्य - यदि आप इसे स्वीकार करते हैं - एक प्रोग्राम लिखना है जो कोड-गोल्फ-उलट प्रतियोगिता के विजेता की गणना करके मेटा पर मेरे प्रस्ताव को समझने में मदद करता है । बेशक, इस प्रश्न के उत्तर को प्रस्तावित माना जाएगा, इसलिए आपका कार्यक्रम (यदि सही है) गणना कर सकता है कि आपका उत्तर स्वीकृत उत्तर बन जाएगा या नहीं।
नियम
- कार्यक्रम निम्न प्रारूप की कई पंक्तियों के साथ एक फ़ाइल पढ़ता है (नीचे उदाहरण देखें): [भाषा] TAB [नंबरऑफ़च्रेक्टर्स] TAB [LinkToAnswer]
- फ़ाइल का नाम आपके प्रोग्राम के तर्क के रूप में दिया गया है या फ़ाइल को आपके प्रोग्राम के मानक इनपुट पर पुनर्निर्देशित किया गया है। यह आपकी पसंद है, कृपया उत्तर देते समय विधि का उल्लेख करें
- यह उम्मीद है कि इनपुट प्रारूप सही है। त्रुटि से निपटने की कोई आवश्यकता नहीं है।
- पात्रों की संख्या सकारात्मक है। आपके कार्यक्रम की लंबाई 65535 तक होनी चाहिए। 64k हर किसी के लिए पर्याप्त होना चाहिए :-)
- कार्यक्रम मानक आउटपुट पर उन पंक्तियों को आउटपुट करता है जो मेटा प्रस्ताव के विचार से मिलते हैं, अर्थात्
- एक विशेष प्रोग्रामिंग भाषा जीत (कमी चरण) का सबसे छोटा कोड
- सभी प्रोग्रामिंग भाषाओं में सबसे लंबा कोड जीत (छंटाई चरण) है
- ड्रॉ के मामले में, समान लंबाई वाले सभी उत्तर मुद्रित किए जाएंगे
- आउटपुट का क्रम महत्वपूर्ण नहीं है
- हालांकि सबसे लंबा कोड जीतता है, यह कोड-गेंदबाजी नहीं है । आपका कोड आपकी प्रोग्रामिंग भाषा के लिए जितना संभव हो उतना कम होना चाहिए।
- शायद ही कभी प्रोग्रामिंग भाषाओं पर उत्तर जो कोड को छोटा करने का प्रयास नहीं कर रहे हैं, वे एक अपमानजनक हैं, क्योंकि वे इस तरह के प्रश्न के इरादे को दरकिनार करने की कोशिश करते हैं। यदि किसी विशिष्ट प्रोग्रामिंग भाषा के लिए केवल एक ही उत्तर है, तो उसे विजेता उम्मीदवार माना जाएगा, ताकि आप उसका कोड उड़ाना शुरू कर सकें।
उदाहरण इनपुट फ़ाइल (यदि स्वरूपण के साथ कोई समस्या हो तो एकल टैब से अलग):
GolfScript 34 http://short.url/answer/ags
GolfScript 42 http://short.url/answer/gsq
C# 210 http://short.url/answer/cs2
Java 208 http://short.url/answer/jav
C# 208 http://short.url/answer/poi
J 23 http://short.url/answer/jsh
Ruby 67 http://short.url/answer/rub
C# 208 http://short.url/answer/yac
GolfScript 210 http://short.url/answer/210
अपेक्षित आउटपुट (ऑर्डर महत्वपूर्ण नहीं है):
C# 208 http://short.url/answer/poi
C# 208 http://short.url/answer/yac
Java 208 http://short.url/answer/jav
अपडेट करें
कुछ कार्यक्रम इस तथ्य पर भरोसा करते हैं कि एक एकल अधिकतम है (जैसे सी # 210 चरित्र कार्यक्रम)। वास्तविकता से व्युत्पन्न, कोई व्यक्ति 210 अक्षरों के साथ एक गोल्फस्क्रिप्ट कार्यक्रम भी लिख सकता है। आउटपुट वही रहेगा। मैंने इस तरह के एक गोल्फस्क्रिप्ट को इनपुट में जोड़ा है।
अपडेट २
जैसा कि मैंने सुझाव दिया था कि मैं (अभी भी कोड-गोल्फ के रूप में) सेवानिवृत्त हो गया हूं और समय सीमा 2014-03-06 है (जो एक मनमाना तारीख की तरह दिखता है, लेकिन मैं फिर यात्रा से जर्मनी लौटूंगा )।
अंतिम परिणाम
मैंने निम्नलिखित की तरह मतदान करने का निर्णय लिया:
- उत्तर जहां वर्णों की संख्या की पुष्टि नहीं की जा सकती है, वहां गिनती समझाने के लिए टिप्पणी प्राप्त करें।
- उत्तर जिन्हें आसानी से कम किया जा सकता है, एक टिप्पणी, एक संपादन सुझाव और कम गिनती मूल्य के साथ परिणाम में जा सकते हैं। (उम्मीद है कि मैंने पहले ही देख लिया है)।
- जो उत्तर संकलित नहीं होते हैं वे एक डाउनवोट प्राप्त करते हैं। (जैसा कि यह पता चला है एक कठिन काम काफी)।
- जिन उत्तरों पर विचार नहीं किया गया है, उन्हें डाउनवोट मिलता है (जैसा कि पहले ही नियमों में वर्णित है)।
- अपेक्षित आउटपुट देने वाले उत्तर एक उत्थान को प्राप्त करते हैं। कुछ उत्तरों के कारण जो अपेक्षित रूप से काम नहीं करते हैं, मैं 4 अलग-अलग इनपुट फ़ाइलों का उपयोग करता हूं और अपेक्षित परिणाम के खिलाफ जांच करता हूं।
अंत में, विजेता को मेरे संदर्भ कार्यक्रम के इनपुट के रूप में क्वालिफाइंग उत्तर तालिका प्रदान करके निर्धारित किया जाता है (साथ ही परिणाम को दोहराता है)। यदि मेरा खुद का जवाब जीतने वाला होगा, तो मैं इसे सूची से बाहर कर दूंगा। कई विजेताओं के मामले में, मुझे केवल एक चुनना होगा। इसलिए, कुछ बोनस अर्जित किए जा सकते हैं:
- ऐसे उत्तर जो अपेक्षित से अधिक इनपुट को स्वीकार करते हैं (जैसे परिभाषित सीमा के बाहर)
- उत्तर जो इसे छोटा बनाने के एक चतुर विचार का उपयोग करते हैं
मैंने 6 मार्च 2014, 19:45 UTC + 1 पर उत्तरों का एक स्नैपशॉट लिया है। विश्लेषण जारी है। सभी उत्तरों की जाँच करना अपेक्षा से अधिक कठिन है ...