ম্যাশ আপ টাইম!
এটি আমার র্যান্ডম গল্ফ অফ দিবা এবং অপ্টিমাইজারের এএসসিআইআই আর্ট অফ দ্য সিরিজের উভয়েরই কিস্তি # 5 । এই চ্যালেঞ্জে আপনার জমা (গুলি) উভয় লিডারবোর্ডের (যা আপনি লিঙ্কযুক্ত পোস্টগুলি সন্ধান করতে পারেন) এর পক্ষে গণ্য হবে। অবশ্যই, আপনি এটি অন্য কোনও কোড গল্ফ চ্যালেঞ্জের মতো আচরণ করতে পারেন এবং কোনও সিরিজ সম্পর্কে মোটেই চিন্তা না করেই এর উত্তর দিতে পারেন।
হোল 5: ডায়মন্ড টিলিংস
একটি নিয়মিত ষড়্ভুজ সর্বদা এর মতো হীরা দিয়ে টাইল করা যেতে পারে:
আমরা এই টিলিংগুলির একটি ASCII শিল্প উপস্থাপনা ব্যবহার করব। পার্শ্ব-দৈর্ঘ্য 2 এর ষড়্ভুজ্যের জন্য, এখানে 20 টি রকম টিলিং রয়েছে:
____ ____ ____ ____ ____ ____ ____ ____ ____ ____
/\_\_\ /\_\_\ /\_\_\ /\_\_\ /_/\_\ /_/\_\ /\_\_\ /_/\_\ /_/\_\ /_/\_\
/\/\_\_\ /\/_/\_\ /\/_/_/\ /\/_/\_\ /\_\/\_\ /\_\/_/\ /\/_/_/\ /\_\/\_\ /\_\/_/\ /_/\/\_\
\/\/_/_/ \/\_\/_/ \/\_\_\/ \/_/\/_/ \/\_\/_/ \/\_\_\/ \/_/\_\/ \/_/\/_/ \/_/\_\/ \_\/\/_/
\/_/_/ \/_/_/ \/_/_/ \_\/_/ \/_/_/ \/_/_/ \_\/_/ \_\/_/ \_\/_/ \_\/_/
____ ____ ____ ____ ____ ____ ____ ____ ____ ____
/_/_/\ /\_\_\ /_/\_\ /_/_/\ /_/\_\ /_/\_\ /_/_/\ /_/_/\ /_/_/\ /_/_/\
/\_\_\/\ /\/_/_/\ /_/\/_/\ /\_\_\/\ /\_\/_/\ /_/\/_/\ /_/\_\/\ /\_\_\/\ /_/\_\/\ /_/_/\/\
\/\_\_\/ \/_/_/\/ \_\/\_\/ \/_/\_\/ \/_/_/\/ \_\/_/\/ \_\/\_\/ \/_/_/\/ \_\/_/\/ \_\_\/\/
\/_/_/ \_\_\/ \_\/_/ \_\/_/ \_\_\/ \_\_\/ \_\/_/ \_\_\/ \_\_\/ \_\_\/
পাশের দৈর্ঘ্য দেওয়া N
, N
এলোমেলোভাবে আপনার পাশের দৈর্ঘ্যের ষড়্ভুজগুলির জন্য এই জাতীয় একটি টাইলিং তৈরি করা উচিত । সঠিক বিতরণে কিছু আসে যায় না, তবে প্রতিটি টাইলিং অবশ্যই শূন্য-সম্ভাব্যতার সাথে ফিরে আসতে হবে।
কারণ N ≤ 4
, আপনার জমা দেওয়ার সময়টি অবশ্যই কমপক্ষে ৮০% সময়ের মধ্যে এক মিনিটের মধ্যে একটি টাইলিং তৈরি করতে হবে এবং কমপক্ষে ৮০% টিলিংস সম্ভাব্যভাবে 1 মিনিটের মধ্যে তৈরি করতে হবে। বেশিরভাগ পদ্ধতির এই নিয়মটি সম্পর্কে চিন্তা করতে হবে না (এটি খুব লেনিয়েন্ট) - এটি কেবল খুব নিষ্পাপ প্রত্যাখ্যান-ভিত্তিক অ্যালগোরিদমকে বাতিল করে দেওয়া হবে যেগুলি একটি টাইলিং হওয়ার আগ পর্যন্ত স্বেচ্ছাচারী স্ট্রিং উত্পন্ন করে।
আপনি জানতে চাইতে পারেন যে প্রদত্ত N এর জন্য সম্ভাব্য টিলিংয়ের মোট সংখ্যা OEIS A008793 এ পাওয়া যাবে ।
আপনি একটি সম্পূর্ণ প্রোগ্রাম বা একটি ফাংশন লিখে STDIN (বা নিকটতম বিকল্প), কমান্ড-লাইন আর্গুমেন্ট বা ফাংশন আর্গুমেন্টের মাধ্যমে ইনপুট নিতে পারেন এবং STDOUT (বা নিকটতম বিকল্প), ফাংশন রিটার্ন মান বা ফাংশন (আউট) প্যারামিটারের মাধ্যমে আউটপুট উত্পাদন করতে পারেন।
ষড়ভুজটি সারিবদ্ধ করার জন্য আপনার প্রয়োজনের চেয়ে বেশি নেতৃস্থানীয় স্পেসপুট আউটপুট করা উচিত নয় (এটি হেক্সাগনের বাম কোণে এর সামনে কোনও ফাঁকা স্থান থাকা উচিত)। প্রতিটি লাইনে N
ট্রেলিং স্পেস অবধি থাকতে পারে (অগত্যা ধারাবাহিকভাবে নয়, যাতে আপনার উদাহরণস্বরূপ একটি আয়তক্ষেত্রাকার আউটপুট থাকতে পারে, ষড়ভুজের সীমানা বাক্সটি মুদ্রণ করতে পারে)।
এটি কোড গল্ফ, তাই সংক্ষিপ্ততম জমা (বাইটে) জিতেছে। এবং অবশ্যই, ব্যবহারকারী প্রতি সংক্ষিপ্ততম জমাটিও সিরিজের সামগ্রিক লিডারবোর্ডে প্রবেশ করবে।
লিডারবোর্ড
প্রতিটি সিরিজের প্রথম পোস্ট একটি লিডারবোর্ড উত্পন্ন করে।
আপনার উত্তরগুলি প্রদর্শিত হবে তা নিশ্চিত করার জন্য, দয়া করে নীচের মার্কডাউন টেমপ্লেটটি ব্যবহার করে প্রতিটি উত্তর শিরোনাম দিয়ে শুরু করুন:
# Language Name, N bytes
N
আপনার জমা দেওয়ার আকারটি কোথায় ? আপনি যদি নিজের স্কোরটি উন্নত করেন তবে আপনি পুরানো স্কোরগুলি শিরোনামে রেখে দিতে পারেন । এই ক্ষেত্রে:
# Ruby, <s>104</s> <s>101</s> 96 bytes
(ভাষাটি বর্তমানে দেখানো হয়নি, তবে স্নিপেটের প্রয়োজন এবং এটি বিশ্লেষণ করতে পারে এবং ভবিষ্যতে আমি একটি উপ-ভাষা লিডারবোর্ড যুক্ত করতে পারি))
For N ≤ 4, your submission must produce a tiling within 1 minute at least 80% of the time.
খুব সহজ: ৮০% সময় একই, বেসিক টাইলিং, অন্যথায় আমি যা চাইছি তার মধ্যে আরও একটি টাইলিং পাই