সপ্তাহ শুরু করার জন্য একটি সাধারণ গল্ফ! আপনাকে তিনটি অ্যারে দেওয়া হবে: বেস অ্যারে B
, মান অ্যারে V
এবং সূচক অ্যারে I
। আপনি অন্য অ্যারের কোথা থেকে মান উত্পাদন করা উচিত V
ঢোকানো হয় B
দ্বারা নির্দিষ্ট সূচকের এ I
। এখানে একটি উদাহরণ:
Base: [5, 1, 4, 1, 3]
Values: [0, 0, 7]
Indices: [5, 0, 3]
সূচকগুলি বেস অ্যারেতে নিম্নলিখিত অবস্থানগুলিতে নির্দেশ করে:
[ 5, 1, 4, 1, 3 ]
^ ^ ^
0 3 5
সুতরাং মান অ্যারে থেকে সংশ্লিষ্ট উপাদানগুলি সন্নিবেশ করাতে ফলাফলটি হওয়া উচিত:
[0, 5, 1, 4, 7, 1, 3, 0]
বিধি
আপনি STDIN (অথবা নিকটতম বিকল্প), কমান্ড-লাইন আর্গুমেন্ট বা ফাংশন আর্গুমেন্টের মাধ্যমে ইনপুট নিয়ে কোনও প্রোগ্রাম বা ফাংশন লিখতে পারেন এবং ফলাফলটি STDOUT (বা নিকটতম বিকল্প), ফাংশন রিটার্ন মান, বা B
পরামিতি হিসাবে প্রদত্ত অ্যারে পরিবর্তন করে আউটপুট দিতে পারেন ।
যদি আপনার জমাটি কোনও ফাংশন হয় I
এবং V
কোনওভাবেই এটি সংশোধন করা যায়, পাশাপাশি B
এটি আউটপুট ব্যবহার না করে।
আপনি ইনপুট সম্পর্কে নিম্নলিখিত অনুমানগুলি করতে পারেন:
- বেস এবং মান অ্যারের সমস্ত উপাদানগুলি অ-নেতিবাচক পূর্ণসংখ্যা হবে।
- মান অ্যারেতে বেস অ্যারের চেয়ে সর্বাধিক আরও একটি উপাদান থাকবে।
- মান অ্যারে এবং সূচক অ্যারেতে একই সংখ্যক উপাদান থাকবে।
- সূচকের অ্যারেটিতে বারবার সূচকগুলি থাকবে না এবং সমস্ত সূচক সীমার মধ্যে থাকবে।
- বেস ও মান অ্যারে পারে পুনরাবৃত্তি উপাদান ধারণ করে।
- যে কোনও বা সমস্ত অ্যারে খালি থাকতে পারে।
- সূচকগুলি কোনও নির্দিষ্ট ক্রমে দেওয়া আছে তা আপনি ধরে নিতে পারবেন না।
- আপনি কোনও সুবিধাজনক, দ্ব্যর্থহীন স্ট্রিং বা তালিকার বিন্যাসে ইনপুট এবং উত্পাদন আউটপুট পেতে পারেন। আপনি পৃথক ক্রমে তিনটি অ্যারে গ্রহণ করতে চয়ন করতে পারেন।
- আপনি 0-ভিত্তিক এবং 1-ভিত্তিক সূচকের মধ্যে চয়ন করতে পারেন।
এটি কোড গল্ফ, তাই সংক্ষিপ্ত উত্তরটি (বাইটে) জেতে।
পরীক্ষার মামলা
B V I => Result
0-ভিত্তিক সূচকের জন্য বিন্যাসে দেওয়া । আপনি যদি 1-ভিত্তিক সূচক ব্যবহার করেন তবে তৃতীয় অ্যারের উপাদানগুলিকে 1 দ্বারা বৃদ্ধি করুন।
[] [] [] => []
[] [1] [0] => [1]
[1,2] [] [] => [1,2]
[1,2] [3] [0] => [3,1,2]
[1,2] [3] [1] => [1,3,2]
[1,2] [3] [2] => [1,2,3]
[0,0,0] [1,1,1,1] [0,1,2,3] => [1,0,1,0,1,0,1]
[5,1,4,1,3] [0,0,7] [5,0,3] => [0,5,1,4,7,1,3,0]
[1,2,3,4] [4,3,2,1] [4,0,3,1] => [3,1,1,2,3,2,4,4]
আপনি যদি অন্য আকর্ষণীয় প্রান্তের মামলাগুলি দেখতে পান তবে আমাকে জানান, এবং আমি সেগুলি যুক্ত করব।
লিডারবোর্ড
নিয়মিত লিডারবোর্ড এবং ভাষার দ্বারা বিজয়ীদের একটি সংক্ষিপ্ত বিবরণ উভয়ই তৈরি করতে এখানে একটি স্ট্যাক স্নিপেট।
আপনার উত্তরটি প্রদর্শিত হয়েছে তা নিশ্চিত করার জন্য, দয়া করে নীচের মার্কডাউন টেমপ্লেটটি ব্যবহার করে আপনার উত্তরটি শিরোনাম দিয়ে শুরু করুন:
# Language Name, N bytes
N
আপনার জমা দেওয়ার আকারটি কোথায় ? আপনি যদি নিজের স্কোরটি উন্নত করেন তবে আপনি পুরানো স্কোরগুলি শিরোনামে রেখে দিতে পারেন । এই ক্ষেত্রে:
# Ruby, <s>104</s> <s>101</s> 96 bytes
var QUESTION_ID=50369;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 getAnswers(){jQuery.ajax({url:answersUrl(page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),e.has_more?getAnswers():process()}})}function shouldHaveHeading(e){var a=!1,r=e.body_markdown.split("\n");try{a|=/^#/.test(e.body_markdown),a|=["-","="].indexOf(r[1][0])>-1,a&=LANGUAGE_REG.test(e.body_markdown)}catch(n){}return a}function shouldHaveScore(e){var a=!1;try{a|=SIZE_REG.test(e.body_markdown.split("\n")[0])}catch(r){}return a}function getAuthorName(e){return e.owner.display_name}function process(){answers=answers.filter(shouldHaveScore).filter(shouldHaveHeading),answers.sort(function(e,a){var r=+(e.body_markdown.split("\n")[0].match(SIZE_REG)||[1/0])[0],n=+(a.body_markdown.split("\n")[0].match(SIZE_REG)||[1/0])[0];return r-n});var e={},a=1,r=null,n=1;answers.forEach(function(s){var t=s.body_markdown.split("\n")[0],o=jQuery("#answer-template").html(),l=(t.match(NUMBER_REG)[0],(t.match(SIZE_REG)||[0])[0]),c=t.match(LANGUAGE_REG)[1],i=getAuthorName(s);l!=r&&(n=a),r=l,++a,o=o.replace("{{PLACE}}",n+".").replace("{{NAME}}",i).replace("{{LANGUAGE}}",c).replace("{{SIZE}}",l).replace("{{LINK}}",s.share_link),o=jQuery(o),jQuery("#answers").append(o),e[c]=e[c]||{lang:c,user:i,size:l,link:s.share_link}});var s=[];for(var t in e)e.hasOwnProperty(t)&&s.push(e[t]);s.sort(function(e,a){return e.lang>a.lang?1:e.lang<a.lang?-1:0});for(var o=0;o<s.length;++o){var l=jQuery("#language-template").html(),t=s[o];l=l.replace("{{LANGUAGE}}",t.lang).replace("{{NAME}}",t.user).replace("{{SIZE}}",t.size).replace("{{LINK}}",t.link),l=jQuery(l),jQuery("#languages").append(l)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",answers=[],page=1;getAnswers();var SIZE_REG=/\d+(?=[^\d&]*(?:<(?:s>[^&]*<\/s>|[^&]+>)[^\d&]*)*$)/,NUMBER_REG=/\d+/,LANGUAGE_REG=/^#*\s*([^,]+)/;
body{text-align:left!important}#answer-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="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr></thead> <tbody id="answers"> </tbody> </table></div><div id="language-list"> <h2>Winners by Language</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="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></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>
NULL
যেখানে খালি অ্যারে রয়েছে সেখানে ভাষার শূন্য অ্যারে সম্পর্কে আপনি কী অনুভব করছেনNULL
?