এলভেস রাতারাতি চুরি করেছিল এমন সমস্ত উপহার পুনরায় তৈরি করতে সক্ষম হয়েছিল সান্টা! এখন সেগুলি প্যাকেজিংয়ের জন্য তাদেরকে সমাবেশ লাইনে প্রেরণ করতে হবে। এলভেস্টরা ভাল কাজ করছে কিনা তা নিশ্চিত করার জন্য এবং অ্যা্যাসেম্বলি লাইনের ছবিগুলি বিজ্ঞাপনের পোস্টারে সুন্দর দেখাচ্ছে বলে তার উভয়ই অ্যাসেমব্লি লাইনের তদারকি করার জন্য একটি ক্যামেরা থাকে [উদ্ধৃতি-আবশ্যক]
দুর্ভাগ্যক্রমে, তার ক্যামেরাটি ভেঙে গেছে, সুতরাং তিনি চান যে আপনি অ্যাসেমব্লি লাইনের দেখতে কেমন হবে তার একটি সিমুলেশন আঁকুন!
সর্বাধিক দক্ষতার সাথে অ্যাসেমব্লি লাইনে কাজ করার জন্য এবং ত্রুটি বা ব্যর্থতার ঝুঁকি হ্রাস করার জন্য, সমস্ত উপস্থিত বাক্সগুলির একই প্রস্থ রয়েছে যাতে তারা পরিবাহী বেল্টে পুরোপুরি ফিট করে।
চ্যালেঞ্জ
তাদের মাত্রা দ্বারা উপস্থাপিত উপহারগুলির একটি তালিকা দেওয়া, সমস্ত উপহারের সাথে একটি পরিবাহক বেল্ট আউটপুট।
একটি বর্তমান যেমন আঁকা:
+----+
/ /|
+----+ |
| | +
| |/
+----+
এই বর্তমান প্রস্থ 1, উচ্চতা 2, এবং দৈর্ঘ্য 4 আছে। নোট করুন যে প্লাস-চিহ্নগুলি পার্শ্ব-দৈর্ঘ্যের জন্য গণনা করে না, সুতরাং দৈর্ঘ্য 4 সহ একটি বর্তমান প্রকৃতপক্ষে 6 টি অবস্থানকে স্প্যান করে।
সমস্ত উপহার একে অপরের পাশে আঁকা হয় নিকটতম দুটি অক্ষরের মধ্যে একটি স্থান দিয়ে; অর্থাত, উপহারগুলির নীচে-বাম কোণগুলি এমনভাবে ফাঁকা আছে যে কোনও বর্তমান বাক্সটির দৈর্ঘ্য lএবং প্রস্থ থাকলে wপরবর্তী উপস্থিত বাক্সের নীচে-বাম কোণটি l + w + 4পূর্ববর্তী বাক্সের নীচে বাম কোণার ঠিক অবস্থান থাকবে ।
সমস্ত উপস্থিত বাক্সগুলি আঁকার পরে, শেষের width + 2লাইনের প্রতিটি বাক্সের মধ্যে স্থানকে আন্ডারস্কোর দিয়ে প্রতিস্থাপন করে কনভেয়র বেল্ট আঁকা হয় ।
সঙ্গে উপস্থিত বক্স চূড়ান্ত আউটপুট (l, w, h)এর [(4, 1, 2), (8, 1, 3), (1, 1, 1)]হতে হবে:
+--------+
+----+ / /|
/ /| +--------+ | +-+
+----+ | | | | / /|
| | +_| | +_+-+ +
| |/__| |/__| |/
+----+___+--------+___+-+
ফর্ম্যাটিং স্পেসিফিকেশন
আপনি 3-টি টিপলগুলির একটি তালিকা নিতে বেছে নিতে পারেন যেখানে উপাদানগুলির মধ্যে একটি সম্পূর্ণ তালিকাতে সামঞ্জস্যপূর্ণ হয় (এটি প্রস্থ হবে), বা আপনি বর্তমান প্রস্থটি নিতে পারেন এবং তারপরে দৈর্ঘ্যের প্রতিনিধিত্বকারী 2-টিপলগুলির একটি তালিকা রাখতে পারেন এবং প্রতিটি উপস্থিতি উচ্চতা। আপনি ইনপুটগুলি কোনও ক্রমে এবং কোনও যুক্তিসঙ্গত বিন্যাসে নিতে পারেন, তবে উপহারগুলি অবশ্যই একই ক্রমে প্রদর্শিত হবে যা সেগুলি ইনপুট হিসাবে দেওয়া হয়।
আপনি ASCII- আর্টের জন্য যেকোন যুক্তিসঙ্গত আউটপুট ফর্ম্যাট চয়ন করতে পারেন (কোনও ফাংশন থেকে প্রত্যাবর্তন সহ)।
পরীক্ষার কেস
এই পরীক্ষার কেসগুলি [(l, w, h), ...]ফরম্যাট হিসাবে দেওয়া হয় ।
[(4, 1, 2), (8, 1, 3), (1, 1, 1)]:
+--------+
+----+ / /|
/ /| +--------+ | +-+
+----+ | | | | / /|
| | +_| | +_+-+ +
| |/__| |/__| |/
+----+___+--------+___+-+
[(5, 3, 4), (8, 3, 1), (1, 3, 7)]:
+-+
/ /|
/ / |
+-----+ / / |
/ /| +-+ |
/ / | | | |
/ / | +--------+ | | |
+-----+ | / /| | | |
| | +___/ / +_| | +
| | /___/ / /__| | /
| | /___+--------+ /___| | /
| |/____| |/____| |/
+-----+_____+--------+_____+-+
[(0, 0, 0)] (this is the most interesting test case ever :P)
++
+++
++
[(8, 3, 0), (0, 3, 8)] (more zero cases)
++
//|
// |
// |
++ |
|| |
|| |
|| |
+--------+ || |
/ /+_|| +
/ //__|| /
/ //___|| /
+--------+/____||/
+--------+_____++
বিধি
- স্ট্যান্ডার্ড লুফোলস প্রয়োগ করুন
- এটি কোড-গল্ফ , তাই বাইটের মধ্যে সংক্ষিপ্ত উত্তর ins
- কোন উত্তর গৃহীত হবে না
দ্রষ্টব্য: আমি অ্যাডভেন্ট অফ কোড থেকে এই চ্যালেঞ্জ সিরিজের জন্য অনুপ্রেরণা তৈরি করেছি । এই সাইটের সাথে আমার কোনও সম্পর্ক নেই
আপনি এখানে প্রথম চ্যালেঞ্জের 'লিঙ্কযুক্ত' বিভাগটি দেখে সিরিজের সমস্ত চ্যালেঞ্জের একটি তালিকা দেখতে পারেন ।