এই চ্যালেঞ্জে, আমরা একসাথে একটি শব্দ-অনুসন্ধান তৈরি করব যা বিভিন্ন ভাষায় প্রচুর প্রোগ্রাম থাকে।
আমি আমাদের 60-বাই-25 কম্বল ( ·
) এর গ্রিড দিয়ে শুরু করেছি , যার কয়েকটি রুবি প্রোগ্রামের অক্ষর দ্বারা প্রতিস্থাপিত হয়েছে।
উত্তর দেওয়ার জন্য, এমন একটি ভাষা চয়ন করুন যা এখনও ব্যবহৃত হয়নি। আপনার নির্বাচিত ভাষাটি ব্যবহার করে, এমন একটি প্রোগ্রাম লিখুন যা কোনও অক্ষর, টোকেন, লাইন, বা কনসোল থেকে সমস্ত ইনপুট পড়ে এবং মুদ্রণ করে । তারপরে, শব্দটি অনুসন্ধানে আপনার প্রোগ্রামটি .োকান।
উদাহরণস্বরূপ, ধরুন আপনি নিজের উত্তরের জন্য পাইথন 3 বেছে নিয়ে প্রোগ্রামটি লিখেছেন print(input())
। এখন আপনাকে সেই প্রোগ্রামটি গ্রিডে প্রবেশ করতে হবে।
আপনার উত্তরটির পূর্বে গ্রিডটি যদি এমন দেখাচ্ছে:
···a·24··········
··z····t·········
তারপরে আপনি কেবলমাত্র আপনার প্রোগ্রামটি দ্বিতীয় লাইনে রেখে বিদ্যমানটির সাথে ওভারল্যাপ করে রাখতে পারেন t
:
···a·24··········
··zprint(input())
নোট করুন যে আপনি আপনার প্রোগ্রামটি যে কোনও দিকে রাখতে পারেন: যতক্ষণ না এটি সরলরেখায় থাকে ততক্ষণ সামনে, পিছিয়ে, wardর্ধ্বমুখী, নীচের দিকে বা তির্যকভাবে।
তবে বিদ্যমান গ্রিডটি যদি এমন দেখায় তবে কী হবে:
···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····
··(·(·····
·)········
)·········
স্কোরিং
প্রতিটি উত্তরের জন্য আপনার স্কোর যোগ করা অক্ষরের সংখ্যা দ্বারা বিভক্ত divided গ্রিডে ইতিমধ্যে বিদ্যমান অক্ষরগুলি গণনা করবেন না, এমনকি যদি আপনি সেগুলি নিজেই ব্যবহার করেন।
আপনার মোট স্কোর হ'ল আপনার সমস্ত উত্তরগুলির স্কোরগুলির যোগফল, উত্তরের সংখ্যা দ্বারা গুণিত। সর্বোচ্চ স্কোর জয়।
বিধি
- প্রতিটি উত্তর অবশ্যই আলাদা ভাষায় লেখা উচিত। যে সংস্করণগুলি কেবল সংস্করণ সংখ্যায় পৃথক হয় (উদাহরণস্বরূপ, পাইথন 2 এবং পাইথন 3) একই হিসাবে বিবেচিত হয়।
- প্রতিটি উত্তর অবশ্যই সাম্প্রতিক বৈধ উত্তর তৈরি করা আবশ্যক। এটি, সর্বাধিক সাম্প্রতিক উত্তরগুলির গ্রিডটি নিন এবং এতে আপনার প্রোগ্রামটি sertোকান।
- আপনার প্রোগ্রামটি সন্নিবেশ করানোর জন্য কমপক্ষে একটি ফাঁকা স্থান (
·
) আপনার পছন্দের অক্ষরের সাথে প্রতিস্থাপন করুন । আপনি আপনার উত্তরে গ্রিড থেকে বিদ্যমান অক্ষরগুলি ব্যবহার করতে পারেন তবে আপনি সেগুলির কোনওটি পরিবর্তন বা সরাতে পারবেন না।
- আপনি আপনার সমস্ত উত্তর জুড়ে মোট 500 টিরও বেশি অক্ষর sertোকাতে পারবেন না।
- আপনার সন্নিবেশ করা সমস্ত অক্ষর অবশ্যই আপনার প্রোগ্রামের অংশ হতে হবে।
- আপনার প্রোগ্রামে কেবল প্রিন্টযোগ্য এএসসিআইআই এবং নিউলাইনগুলি থাকতে পারে, তবে পরের দিকে দুটি বা ততোধিক টানা নিউলাইনগুলি নাও থাকতে পারে।
- নিউলাইনগুলি আপনার স্কোরের দিকে গণনা করে না।
- একটি সম্পূর্ণ প্রোগ্রাম, কেবল কোনও ফাংশন বা স্নিপেট নয়, প্রয়োজন।
- একই ব্যবহারকারী টানা দুটি উত্তর লিখতে পারে না।
- কারও উত্তর যদি কোনও নিয়ম লঙ্ঘন করে তবে একটি মন্তব্য করুন। 30 মিনিটের মধ্যে যদি ভুলটি স্থির না হয় তবে এটি মুছে ফেলা উচিত।
ব্যবহৃত ভাষার স্নিপেট
এটি হ'ল স্ট্যাক স্নিপেট, যা ইটিএইচ প্রডাকশনস, ফ্রাইআম দ্য এজিগম্যান এবং মাউরিস দ্বারা তৈরি, এটি ব্যবহারকারীর স্কোর এবং ব্যবহৃত ভাষার উপর নজর রাখে। এটি মূলত মার্টিন বাটনার আশ্চর্যজনক টেম্পলেট থেকে অনুলিপি করা হয়েছিল ।
মূল লিডারবোর্ড:
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