यह एक पुलिस और लुटेरों की चुनौती का हिस्सा है । लुटेरों के हिस्से के लिए यहां जाएं ।
पुलिस की चुनौती
आपको अपनी पसंद की भाषा में एक कार्यक्रम या फ़ंक्शन लिखना चाहिए, जो स्ट्रिंग को आउटपुट करता है Haystack
। हालाँकि, आपके प्रोग्राम के कुछ सबसेट (बाकी को रीक्रिएट किए बिना) से हटा देना संभव है, जैसे कि परिणामी स्ट्रिंग भी उसी भाषा में मान्य प्रोग्राम है, जो Needle
इसके बजाय प्रिंट करता है। दोनों कार्यक्रम / कार्य वैकल्पिक रूप से एक एकल अनुगामी न्यूलाइन (एक दूसरे के स्वतंत्र रूप से) प्रिंट कर सकते हैं, लेकिन कुछ और नहीं। आउटपुट केस संवेदी है और प्रदान की गई सटीक आवरण का पालन करना चाहिए।
आपका लक्ष्य, निश्चित रूप से, "सुई" को बहुत अच्छी तरह से छिपाना है। लेकिन ध्यान दें कि आपके प्रस्तुतिकरण को किसी भी वैध समाधान के साथ क्रैक किया जा सकता है , न कि केवल आपके द्वारा इच्छित।
कृपया अपने उत्तर में शामिल करें:
- आपके प्रस्तुत करने की भाषा (और संस्करण यदि प्रासंगिक हो)।
- बाइट्स में हेस्टैक कार्यक्रम का आकार।
- हेयस्टैक कार्यक्रम ही।
- आउटपुट विधि अगर यह STDOUT नहीं है।
- यदि संभव हो, तो अपनी चुनी हुई भाषा के लिए एक ऑनलाइन दुभाषिया / संकलक का लिंक।
आपका सबमिशन या तो एक प्रोग्राम या फंक्शन हो सकता है, लेकिन स्निपेट नहीं और आपको REPL वातावरण नहीं मानना चाहिए। आपको कोई इनपुट नहीं लेना चाहिए, और आप STDOUT, फ़ंक्शन रिटर्न वैल्यू या फ़ंक्शन (आउट) पैरामीटर के माध्यम से आउटपुट कर सकते हैं।
दोनों कार्यक्रमों / कार्यों को एक उचित डेस्कटॉप मशीन पर 5 सेकंड के भीतर पूरा करना होगा और नियतात्मक होना चाहिए। आपको हैशिंग, एन्क्रिप्शन या रैंडम नंबर जेनरेशन के लिए बिल्ट-इन का उपयोग नहीं करना चाहिए (भले ही आप एक निश्चित मूल्य पर रैंडम नंबर जनरेटर को बीज दें)।
निष्पक्षता के हित में, आपकी चुनी हुई भाषा के लिए स्वतंत्र रूप से उपलब्ध दुभाषिया या संकलक होना चाहिए।
सुई प्रोग्राम पाए जाने पर एक उत्तर फटा है। यदि आपका उत्तर 7 दिनों के लिए क्रैक नहीं किया गया है, तो आप अपने उत्तर में इच्छित सुई प्रोग्राम को प्रकट कर सकते हैं, जो आपके सबमिशन को सुरक्षित बनाता है। जब तक आप अपने समाधान को प्रकट नहीं करते हैं, तब भी यह लुटेरों द्वारा क्रैक किया जा सकता है, भले ही 7 दिन पहले ही बीत चुके हों। सबसे छोटा सुरक्षित हैस्टैक कार्यक्रम (बाइट्स में मापा गया) जीतता है।
उदाहरण
यहाँ विभिन्न भाषाओं में सरल उदाहरण दिए गए हैं:
Ruby
Haystack: puts 1>0?"Haystack":"Needle"
Delete: XXXXXXXXXXXXXXX
Needle: puts "Needle"
Python 2
Haystack: print "kcatsyaHeldeeN"[-7::-1]
Delete: XXXXXXXX XX
Needle: print "eldeeN"[::-1]
ध्यान दें कि हटाए गए वर्णों के सबसेट को सन्निहित नहीं होना चाहिए।
अनियंत्रित सबमिशन
<script>site = 'meta.codegolf'; postID = 5686; isAnswer = false; QUESTION_ID = 144600;</script><script src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'></script><script>jQuery(function(){var u='https://api.stackexchange.com/2.2/';if(isAnswer)u+='answers/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJeRCD';else u+='questions/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJO6t)';jQuery.get(u,function(b){function d(s){return jQuery('<textarea>').html(s).text()};function r(l){return new RegExp('<pre class="snippet-code-'+l+'\\b[^>]*><code>([\\s\\S]*?)</code></pre>')};b=b.items[0].body;var j=r('js').exec(b),c=r('css').exec(b),h=r('html').exec(b);if(c!==null)jQuery('head').append(jQuery('<style>').text(d(c[1])));if (h!==null)jQuery('body').append(d(h[1]));if(j!==null)jQuery('body').append(jQuery('<script>').text(d(j[1])))})})</script>