ভূমিকা
এটি দৈর্ঘ্যের লগ 5:
#####
আমি একে অপরের উপরে এই লগের একগুচ্ছ গাদা করতে চাই। আমি এটি কীভাবে করব তা হল ডান দিক থেকে শীর্ষের উপরে একটি নতুন লগটি স্লাইড করা, এবং যখন তাদের বাম বা ডান প্রান্তটি সরে যায় তখন স্লাইডিং বন্ধ করুন (কেন জিজ্ঞাসা করবেন না)। যদি নতুন লগ দীর্ঘ হয়, তবে এটি শীর্ষে লগের বাম প্রান্তে সমস্ত দিক স্লাইড করে:
######## <-
#####
যদি এটি খাটো হয় তবে এটি কেবল ডান প্রান্তে প্রান্তিক হওয়া পর্যন্ত স্লাইড হয়:
###### <-
########
#####
আমি পুলে আরও লগগুলি স্লাইড করার সাথে সাথে তাদের অবস্থানগুলি বর্তমান শীর্ষতম লগ দ্বারা নির্ধারিত হয়:
##
######
###
####
##
######
########
#####
এটি শারীরিকভাবে অসম্ভব বলে মনে হচ্ছে, তবে আসুন এটি ভান করে tend
কাজটি
আপনার ইনপুটটি আমার লগগুলির দৈর্ঘ্যের প্রতিনিধিত্ব করে ধনাত্মক পূর্ণসংখ্যার একটি খালি খালি তালিকা হবে। বামতম সংখ্যাটি হ'ল প্রথম লগ আমি স্তূপে রেখেছি, তাই এটি নীচে শেষ হয়। উপরের উদাহরণে ইনপুটটি হবে [5,8,6,2,4,3,6,2]
। আপনার আউটপুটটি ফলাফলের স্তূপের প্রতিটি কলামের জন্য, সেই কলামটি অতিক্রম করে এমন লগের সংখ্যা হবে। উপরের উদাহরণে, সঠিক আউটপুট হবে [2,2,3,3,3,2,4,6,3,3,1,2,2]
।
বিধি এবং স্কোরিং
ইনপুট এবং আউটপুট যে কোনও যুক্তিসঙ্গত বিন্যাসে হতে পারে। আউটপুটে কেবলমাত্র ইতিবাচক পূর্ণসংখ্যা থাকতে পারে, অর্থাত্ এতে অবশ্যই শীর্ষস্থানীয় বা পিছনে থাকা উচিত 0
। সাধারণ কোড-গল্ফ নিয়মগুলি প্রয়োগ হয়: আপনি একটি সম্পূর্ণ প্রোগ্রাম বা একটি ফাংশন লিখতে পারেন, সর্বনিম্ন বাইট গণনা জিততে পারে এবং মানক লুফোলগুলি নিষিদ্ধ।
পরীক্ষার মামলা
[1] -> [1]
[4] -> [1,1,1,1]
[3,2] -> [1,2,2]
[2,3] -> [2,2,1]
[2,2,2] -> [3,3]
[2,3,2] -> [2,3,2]
[3,2,3] -> [1,3,3,1]
[1,3,2,2,1,3,1] -> [2,3,5,1,2]
[4,3,4,2,4,3,4,2] -> [1,3,3,5,5,3,4,2]
[5,8,6,2,4,3,6,2] -> [2,2,3,3,3,2,4,6,3,3,1,2,2]
[5,10,15,1,1,1,1,1,2] -> [3,3,3,3,3,2,2,2,2,2,1,1,1,1,7,1]
[13,12,2,10,14,12] -> [1,2,2,2,2,2,2,2,2,2,2,5,5,3,3,3,3,3,3,3,3,2,2,2,2]
[12,14,3,6,13,1,1] -> [2,2,2,2,2,2,2,2,2,2,2,5,4,4,2,2,2,1,1,1,1,1,1,3]
[7,5,12,5,1,10,14,5] -> [1,1,3,3,3,3,3,1,1,2,2,2,2,5,2,2,2,2,2,2,2,2,3,2,2,2,2]
[14,5,1,3,12,6,2,2,1,7,9,15] -> [1,1,1,1,1,1,1,1,1,2,2,2,2,5,2,2,1,1,1,2,2,2,2,4,8,3,3,3,3,3,3,2,2,1,1,1,1,1,1]