ভাবুন আপনার দুটি বাতি আছে। এই লাইটগুলি একটি নির্দিষ্ট হারে জ্বলজ্বল করে এবং বন্ধ করে দেয়:
Light 0: Delay 0ms and then blink every 1000ms
Light 1: Delay 500ms and then blink every 1000ms
প্রথম 2000 মিমের জন্য এই আলোগুলি অনুকরণ করুন:
0ms: Light 0 on
500ms: Light 1 on
1000ms: Light 0 off
1500ms: Light 1 off
2000ms: Light 0 on
চ্যালেঞ্জ
লাইটের সময় নির্ধারণের জন্য অর্ডার করা জোড়গুলির একটি তালিকা দেওয়া, একটি প্রোগ্রাম লিখুন বা যখন তারা ঝলক দেয় তার ক্রমটি আউটপুট করতে ফাংশন লিখুন।
ইনপুট
ইনপুটটি নিম্নলিখিত ফর্ম্যাটে হওয়া উচিত:
TimeToSimulate
Light0Delay,Light0Period
Light1Delay,Light1Period
...
এই বিন্যাসে, উপরের উদাহরণটি হ'ল:
2000
0,1000
500,1000
আউটপুট
আউটপুটটি অর্ডার করা ট্রিপলগুলির একটি সিরিজ হওয়া উচিত:
Time,LightNum,LightStatus
লাইটস্ট্যাটাস হ'ল একটি সত্যবাদী মান এবং যদি আলো চালু হয় এবং মিথ্যা মান যদি আলো বন্ধ হয়।
উপরের উদাহরণ থেকে আউটপুট হবে:
0,0,True
500,1,True
1000,0,False
1500,1,False
2000,0,True
যদি একই সাথে দুটি লাইট জ্বলজ্বল করে তবে কম সংখ্যার আলোটি প্রথমে আউটপুট প্রদর্শিত হবে।
অন্যান্য উপাদান
- ইনপুট এবং আউটপুট ফর্ম্যাটগুলি কঠোর নয়
- কোড কোনও ত্রুটি তৈরি করা উচিত নয়
- সমাধানটি জাতি শর্তের উপর নির্ভর করা উচিত নয়
- কোনও মানক ফাঁক নেই
- এটি কোড-গল্ফ , তাই সংক্ষিপ্ততম সমাধানটি জিতল!
পরীক্ষার মামলা
Input:
2000
0,1000
500,1000
Output:
0,0,True
500,1,True
1000,0,False
1500,1,False
2000,0,True
----
Input:
2
0,1
0,1
Output:
0,0,True
0,1,True
1,0,False
1,1,False
2,0,True
2,1,True
----
Input:
500
100,50
200,100
300,150
Output:
100,0,True
150,0,False
200,0,True
200,1,True
250,0,False
300,0,True
300,1,False
300,2,True
350,0,False
400,0,True
400,1,True
450,0,False
450,2,False
500,0,True
500,1,False
----
Input:
1000
23,345
65,98
912,12
43,365
Output:
23,0,True
43,3,True
65,1,True
163,1,False
261,1,True
359,1,False
368,0,False
408,3,False
457,1,True
555,1,False
653,1,True
713,0,True
751,1,False
773,3,True
849,1,True
912,2,True
924,2,False
936,2,True
947,1,False
948,2,False
960,2,True
972,2,False
984,2,True
996,2,False
লিডারবোর্ড স্নিপেট:
var QUESTION_ID=137465,OVERRIDE_USER=41505;function answersUrl(e){return"https://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,s){return"https://api.stackexchange.com/2.2/answers/"+s.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 s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=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=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){return e.lang>s.lang?1:e.lang<s.lang?-1:0});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",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}#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>