পূর্ণসংখ্যার একটি অ্যারে বিবেচনা করুন:
[1, 0, 9, 1, 3, 8]
এই তালিকাটিকে একটানা সাবলিস্টে ভাগ করার অনেকগুলি উপায় রয়েছে। এখানে তিনটি রয়েছে:
A: [[1, 0, 9], [1, 3, 8]]
B: [[1], [0, 9], [1, 3], [8]]
C: [[1, 0], [9, 1], [3, 8]]
X এর কিছু উপ-তালিকাকে আবার একসাথে যোগদান করে যদি Y এর কাছ থেকে এক্স পাওয়া যায় তবে আমরা একটি পার্টিশন ওয়াই এবং অন্য একটি পার্টিশন এক্স এর সংশোধন করব।
সুতরাং B
একটি পরিশোধন হয় A
: যদি আমরা প্রথম দুই এবং গত দুই sublists ফিরে একসঙ্গে যোগদান আমরা প্রাপ্ত A
। কিন্তু C
হয় না একটি পরিশোধন A
: আমরা বিভক্ত করা আছে চাই 9
এবং 1
অর্ডার পুনরুদ্ধার করার জন্য A
তা থেকে। এছাড়াও, যে কোনও বিভাজন তুচ্ছভাবে নিজের একটি পরিমার্জনীয়।
নোট করুন যে আমাদের কোনও উপ তালিকা বা উপাদানকে কোনও বিন্দুতে পুনরায় সাজানোর অনুমতি নেই।
চ্যালেঞ্জ
দুই পার্টিশন (পূর্ণসংখ্যার তালিকার তালিকা) দেওয়া X
এবং Y
নির্ধারণ কিনা Y
একটি পরিশোধন হয় X
।
আপনি অনুমান করতে পারে যে পার্টিশন শুধুমাত্র থেকে পূর্ণসংখ্যার উপস্থিত থাকবে 0
করার 9
সমেত। আপনার অবশ্যই এটি ধরে নেওয়া উচিত নয় X
এবং Y
এটি একই তালিকার পার্টিশন (যদি তা না হয় তবে তারা একে অপরের পরিমার্জনও নয়)। X
এবং / অথবা Y
খালি থাকতে পারে তবে খালি সাবলিস্টগুলি কখনই থাকতে পারে না।
আপনি STDIN (অথবা নিকটতম বিকল্প), কমান্ড-লাইন আর্গুমেন্ট বা ফাংশন আর্গুমেন্টের মাধ্যমে ইনপুট নিয়ে কোনও প্রোগ্রাম বা ফাংশন লিখতে এবং STDOUT (বা নিকটতম বিকল্প), ফাংশন রিটার্ন মান বা ফাংশন (আউট) প্যারামিটারের মাধ্যমে ফলাফল আউটপুট করতে পারেন।
ইনপুট কোনও সুবিধাজনক স্ট্রিং বা তালিকার বিন্যাসে নেওয়া যেতে পারে। যেহেতু উপাদানগুলি কেবলমাত্র একক-সংখ্যার পূর্ণসংখ্যার হবে, তাই আপনি সাবলিস্টের মধ্যে একটি ডিলিমিটার বাদ দিতে পছন্দ করতে পারেন, তবে নিশ্চিত হয়ে নিন যে শীর্ষস্থানীয়গুলি 0
সম্ভব। আপনি নিতে X
এবং Y
বিপরীত ক্রমে চয়ন করতে পারেন ।
আউটপুট হওয়া উচিত truthy যদি Y
একটি পরিশোধন হয় X
এবং falsy অন্যথায়।
আপনার কোডটি অবশ্যই যুক্তিসঙ্গত ডেস্কটপ মেশিনে 1 সেকেন্ডের নীচে প্রতিটি পরীক্ষার কেস সমাধান করতে সক্ষম হবে। (সাধারণ উদ্দীপনা সমাধানগুলি এড়াতে এটি কেবল একটি স্যানিটেশন চেক))
এটি কোড গল্ফ, তাই সংক্ষিপ্ত উত্তরটি (বাইটে) জেতে।
পরীক্ষার মামলা
প্রতিটি পরীক্ষার কেস তার নিজস্ব লাইনে থাকে, যেমনটি লিখিত হয় X Y
। আমি কিছু অনুভূমিক স্থান বাঁচাতে গল্ফস্ক্রিপ্ট / সিজাম-স্টাইলের অ্যারের স্বরলিপি ব্যবহার করছি:
Truthy:
[] []
[[0]] [[0]]
[[1 0 9 1 3 8]] [[1 0 9] [1 3 8]]
[[1 0 9 1 3 8]] [[1 0 9 1 3] [8]]
[[1 0 9 1 3 8]] [[1] [0] [9] [1] [3] [8]]
[[1 0 9] [1 3 8]] [[1 0 9] [1 3 8]]
[[1 0 9] [1 3 8]] [[1] [0 9] [1 3] [8]]
[[9 8 8 5 8 2 7] [5] [1 4] [2 0 0 6 0 8 4 2 6 4 2 3 7 8 7 3 9 5 7 9 8 2 9 5] [3 9 8] [7 1 4 9 7 4 5 9] [3 3 3] [9 0 7 8] [3 9 4 7 2 7 8 0 3 0] [8 2 2 7 3 9 3 2] [2 9 0 8 5 4 1 8 5 5 6 2 0 9 2 7 7 9 2 7] [3 6] [1 2 7 7 4 4 2 9]] [[9 8] [8] [5 8 2] [7] [5] [1 4] [2] [0 0 6] [0] [8 4 2] [6 4] [2] [3] [7 8] [7 3] [9] [5 7 9] [8 2] [9 5] [3] [9 8] [7 1 4] [9 7] [4 5 9] [3 3] [3] [9 0] [7 8] [3] [9] [4] [7 2] [7 8] [0] [3 0] [8 2] [2] [7 3] [9 3] [2] [2] [9] [0] [8 5 4] [1 8] [5 5] [6] [2 0] [9] [2] [7 7 9] [2 7] [3 6] [1 2] [7 7] [4 4 2] [9]]
Falsy:
[[0]] []
[[0]] [[1]]
[[1 0 9]] [[1 0 9] [1 3 8]]
[[1 0 9] [1 3 8]] [[1 0 9 1 3 8]]
[[1 0 9] [1 3 8]] [[1 0 9]]
[[1 0 9] [1 3 8]] [[1 0] [9]]
[[1 0 9] [1 3 8]] [[1 0] [9 1] [3 8]]
[[1] [0 9] [1 3] [8]] [[1 0 9] [1 3 8]]
[[9 8 8 5 8 2 7] [5] [1 4] [2 0 0 6 0 8 4 2 6 4 2 3 7 8 7 3 9 5 7 9 8 2 9 5] [3 9 8] [7 1 4 9 7 4 5 9] [3 3 3] [9 0 7 8] [3 9 4 7 2 7 8 0 3 0] [8 2 2 7 3 9 3 2] [2 9 0 8 5 4 1 8 5 5 6 2 0 9 2 7 7 9 2 7] [3 6] [1 2 7 7 4 4 2 9]] [[9 8] [8] [5 8 2] [7] [5 1] [4] [2] [0 0 6] [0] [8 4 2] [6 4] [2] [3] [7 8] [7 3] [9] [5 7 9] [8 2] [9 5] [3] [9 8] [7 1 4] [9 7] [4 5 9] [3 3] [3] [9 0] [7 8] [3] [9] [4] [7 2] [7 8] [0] [3 0] [8 2] [2] [7 3] [9 3] [2] [2] [9] [0] [8 5 4] [1 8] [5 5] [6] [2 0] [9] [2] [7 7 9] [2 7] [3 6] [1 2] [7 7] [4 4 2] [9]]
লিডারবোর্ড
নিয়মিত লিডারবোর্ড এবং ভাষার দ্বারা বিজয়ীদের একটি সংক্ষিপ্ত বিবরণ উভয়ই তৈরি করতে এখানে একটি স্ট্যাক স্নিপেট।
আপনার উত্তরটি প্রদর্শিত হয়েছে তা নিশ্চিত করার জন্য, দয়া করে নীচের মার্কডাউন টেম্পলেটটি ব্যবহার করে আপনার উত্তরটি শিরোনাম দিয়ে শুরু করুন:
# Language Name, N bytes
N
আপনার জমা দেওয়ার আকারটি কোথায় ? আপনি যদি নিজের স্কোরটি উন্নত করেন তবে আপনি পুরানো স্কোরগুলি শিরোনামে রেখে দিতে পারেন। এই ক্ষেত্রে:
# Ruby, <s>104</s> <s>101</s> 96 bytes
<script>site = 'meta.codegolf'; postID = 5314; isAnswer = true; QUESTION_ID = 51719</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>
[[[1 0 9] [1 3 8]] [[1] [0 9] [1 3] [8]]]
বা[["109" "138"] ["1" "09" "13" "8"]]
একটি গ্রহণযোগ্য ইনপুট বিন্যাস হবে?