इस चुनौती में, हम एक साथ विभिन्न भाषाओं में कई कार्यक्रमों वाले शब्द-खोज का निर्माण करेंगे।
मैंने हमें 60-बाय -25 ब्लैंक ( ·
) के ग्रिड के साथ शुरू किया है , जिनमें से कुछ को एक रूबी कार्यक्रम के पात्रों द्वारा बदल दिया जाता है।
जवाब देने के लिए, ऐसी भाषा चुनें जो अभी तक इस्तेमाल नहीं की गई थी। अपनी चुनी हुई भाषा का उपयोग करते हुए, एक प्रोग्राम लिखें जो एक कैरेक्टर, टोकन, लाइन, या कंसोल से सभी इनपुट को पढ़ता है , और इसे प्रिंट करता है । फिर, शब्द-खोज में अपना कार्यक्रम डालें।
उदाहरण के लिए, मान लीजिए कि आप अपने उत्तर के लिए पायथन 3 चुनते हैं, और प्रोग्राम लिखते हैं print(input())
। अब आपको उस प्रोग्राम को ग्रिड में डालना है।
यदि आपके उत्तर से पहले ग्रिड इस तरह दिखता है:
···a·24··········
··z····t·········
तब आप अपने कार्यक्रम को दूसरी पंक्ति में रख सकते हैं, मौजूदा के साथ अतिव्यापी t
:
···a·24··········
··zprint(input())
ध्यान दें कि आप अपने कार्यक्रम को किसी भी दिशा में रख सकते हैं: आगे, पीछे, ऊपर, नीचे, या तिरछे, जब तक यह एक सीधी रेखा में है।
लेकिन क्या होगा अगर मौजूदा ग्रिड इस तरह दिखता है:
···a·24··········
··z····q·········
print(input())
मौजूदा पात्रों को बदलने के बिना यहां फिट होने का कोई तरीका नहीं है , जो निषिद्ध है। इसके बजाय, आप कार्यक्रम को बदल सकते हैं:
print(
input())
यह दो-लाइन कार्यक्रम बड़े करीने से फिट बैठता है:
···a·24·print(···
··z····q input())
यहां आप एक रिक्त ( ·
) को एक स्थान (
) के साथ प्रतिस्थापित करते हैं । हालांकि, एक अंतरिक्ष किसी भी अन्य चरित्र की तरह ही है, और भविष्य के कार्यक्रमों में नहीं लिखा जा सकता है।
वन-लाइनर की तरह ही, मल्टी-लाइन प्रोग्राम को किसी भी दिशा में रखा जा सकता है। उदाहरण के लिए, एक बड़ी ग्रिड में, आप प्रोग्राम को 135 ° दक्षिणावर्त घुमाकर निम्नलिखित कार्य कर सकते हैं।
··········
········ ·
·······i·p
······n·r·
·····p·i··
····u·n···
···t·t····
··(·(·····
·)········
)·········
स्कोरिंग
प्रत्येक उत्तर के लिए आपका स्कोर जोड़े गए पात्रों की संख्या से तीस विभाजित है। ग्रिड में पहले से मौजूद वर्णों की गणना न करें, भले ही आप स्वयं उनका उपयोग करें।
आपका कुल स्कोर आपके सभी उत्तरों के अंकों का योग है, उत्तरों की संख्या से गुणा किया जाता है। उच्चतम स्कोर जीतता है।
नियम
- हर उत्तर को अलग भाषा में लिखना होगा। केवल संस्करण संख्या (जैसे, पायथन 2 और पायथन 3) में भिन्न भाषाएं एक ही मानी जाती हैं।
- हर उत्तर को सबसे हाल ही में मान्य उत्तर का निर्माण करना चाहिए। यही है, इस तरह के सबसे हाल के जवाब की ग्रिड लें, और इसमें अपना प्रोग्राम डालें।
- अपना प्रोग्राम सम्मिलित करने के लिए,
·
अपनी पसंद के वर्णों के साथ कम से कम एक रिक्त स्थान ( ) बदलें । आप अपने उत्तर में ग्रिड से मौजूदा वर्णों का उपयोग कर सकते हैं, लेकिन आप उनमें से किसी को भी बदल या स्थानांतरित नहीं कर सकते हैं।
- आप अपने सभी उत्तरों में कुल मिलाकर 500 से अधिक वर्ण सम्मिलित नहीं कर सकते हैं।
- आपके द्वारा सम्मिलित सभी वर्ण आपके कार्यक्रम का हिस्सा होने चाहिए।
- आपके कार्यक्रम में केवल मुद्रण योग्य ASCII और नए अंक शामिल हो सकते हैं, लेकिन बैक-टू-बैक दो या दो से अधिक लगातार newlines नहीं हो सकते हैं।
- न्यूलाइन्स आपके स्कोर की ओर नहीं है।
- एक पूर्ण कार्यक्रम, न केवल एक फ़ंक्शन या स्निपेट की आवश्यकता होती है।
- एक ही उपयोगकर्ता लगातार दो उत्तर नहीं लिख सकता है।
- यदि किसी का उत्तर किसी नियम का उल्लंघन करता है, तो एक टिप्पणी छोड़ दें। यदि गलती 30 मिनट में ठीक नहीं होती है, तो उसे हटा दिया जाना चाहिए।
प्रयुक्त भाषा स्निपेट
यह एक Stack Snippet है, जिसे ETHproductions, FryAmTheEggman और Mauris द्वारा बनाया गया है, जो उपयोगकर्ताओं के स्कोर और प्रयुक्त भाषाओं का ट्रैक रखता है। इसे मूल रूप से मार्टिन बंटनर के अद्भुत टेम्पलेट से कॉपी किया गया था ।
मूल लीडरबोर्ड:
function answersUrl(e){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,r){return"http://api.stackexchange.com/2.2/answers/"+r.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var r=+e.share_link.match(/\d+/);answer_ids.push(r),answers_hash[r]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[],r={},x={};answers.forEach(function(s){var a=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(a="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var n=a.match(SCORE_REG);if(n){var t=getAuthorName(s);e.push({user:getAuthorName(s),size:+n[2],language:n[1],link:s.share_link}),r[t]=r[t]||0,r[t]+=30/+n[2],x[t]=x[t]||0,x[t]++}});Object.keys(r).forEach(function(e){r[e]*=x[e]});var s=Object.keys(r).sort(function(e,s){return r[s]-r[e]});e.sort(function(e,r){var s=e.size,a=r.size;return s-a});var a={},t=null;e.forEach(function(e){t=e.size;var r=e.language;/<a/.test(r)&&(r=jQuery(r).text()),a[r]=a[r]||{lang:e.language,user:e.user,size:e.size,link:e.link}});for(var c=0,o=1;c<s.length;c++){var i=jQuery("#author-template").html();r[s[c]]!==r[s[c-1]]&&(o=c+1);i=i.replace("{{PLACE}}",o+'.').replace("{{NAME}}",s[c]).replace("{{SCORE}}",r[s[c]].toFixed(2)),jQuery("#authors").append(jQuery(i))}var u=[];for(var m in a)a.hasOwnProperty(m)&&u.push(a[m]);u.sort(function(e,r){var s=e.lang.replace(/<.*?>/g,"").toLowerCase(),a=r.lang.replace(/<.*?>/g,"").toLowerCase();return s>a?1:a>s?-1:0});for(var l=0;l<u.length;++l){var h=jQuery("#language-template").html(),m=u[l];h=h.replace("{{LANGUAGE}}",m.lang).replace("{{NAME}}",m.user).replace("{{SIZE}}",m.size).replace("{{LINK}}",m.link),h=jQuery(h),jQuery("#languages").append(h)}}var QUESTION_ID=57327,ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",OVERRIDE_USER=16294,answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i;
body{text-align:left!important}#author-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="author-list"> <h2>Leaderboard</h2> <table class="author-list"> <thead> <tr><td></td><td>Author</td><td>Score</td></tr></thead> <tbody id="authors"> </tbody> </table> </div><div id="language-list"> <h2>Languages</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr></thead> <tbody id="languages"> </tbody> </table> </div><table style="display: none"> <tbody id="author-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{SCORE}}</td></tr></tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table>
नया (प्रायोगिक) संस्करण, संशोधित सूत्र का उपयोग कर:
function answersUrl(e){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,r){return"http://api.stackexchange.com/2.2/answers/"+r.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var r=+e.share_link.match(/\d+/);answer_ids.push(r),answers_hash[r]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[],r={},x={};answers.forEach(function(s){var a=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(a="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var n=a.match(SCORE_REG);if(n){var t=getAuthorName(s);e.push({user:getAuthorName(s),size:+n[2],language:n[1],link:s.share_link}),r[t]=r[t]||0,r[t]+=30/+n[2]+20,x[t]=x[t]||0,x[t]++}});var s=Object.keys(r).sort(function(e,s){return r[s]-r[e]});e.sort(function(e,r){var s=e.size,a=r.size;return s-a});var a={},t=null;e.forEach(function(e){t=e.size;var r=e.language;/<a/.test(r)&&(r=jQuery(r).text()),a[r]=a[r]||{lang:e.language,user:e.user,size:e.size,link:e.link}});for(var c=0,o=1;c<s.length;c++){var i=jQuery("#author-template").html();r[s[c]]!==r[s[c-1]]&&(o=c+1);i=i.replace("{{PLACE}}",o+'.').replace("{{NAME}}",s[c]).replace("{{SCORE}}",r[s[c]].toFixed(2)),jQuery("#authors").append(jQuery(i))}var u=[];for(var m in a)a.hasOwnProperty(m)&&u.push(a[m]);u.sort(function(e,r){var s=e.lang.replace(/<.*?>/g,"").toLowerCase(),a=r.lang.replace(/<.*?>/g,"").toLowerCase();return s>a?1:a>s?-1:0});for(var l=0;l<u.length;++l){var h=jQuery("#language-template").html(),m=u[l];h=h.replace("{{LANGUAGE}}",m.lang).replace("{{NAME}}",m.user).replace("{{SIZE}}",m.size).replace("{{LINK}}",m.link),h=jQuery(h),jQuery("#languages").append(h)}}var QUESTION_ID=57327,ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",OVERRIDE_USER=16294,answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i;
body{text-align:left!important}#author-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="author-list"> <h2>Leaderboard</h2> <table class="author-list"> <thead> <tr><td></td><td>Author</td><td>Score</td></tr></thead> <tbody id="authors"> </tbody> </table> </div><div id="language-list"> <h2>Languages</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr></thead> <tbody id="languages"> </tbody> </table> </div><table style="display: none"> <tbody id="author-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{SCORE}}</td></tr></tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table>
यह सुनिश्चित करने के लिए कि आपका सबमिट स्निपेट द्वारा मान्यता प्राप्त है, कृपया निम्नलिखित हेडर टेम्पलेट का उपयोग करें:
# Language, X characters added