ইনপুট
এই চ্যালেঞ্জটিতে আপনার ইনপুট হল পূর্ণসংখ্যার জোড়ার একটি তালিকা। তারা বিমানের ইউনিট স্কোয়ারগুলির দক্ষিণ-পশ্চিম কোণগুলিকে উপস্থাপন করে এবং তালিকাটি তাদের ইউনিয়নকে বিমানের উপসেট হিসাবে উপস্থাপন করে। উদাহরণস্বরূপ, তালিকা
[(0,0),(1,0),(0,1),(1,1),(2,1),(1,2),(2,2)]
এই ছবিতে লাল রঙের সেটটি উপস্থাপন করে:
আউটপুট
ইয়ার আউটপুট হ'ল বিমানের আয়তক্ষেত্রাকার উপগ্রহের প্রতিনিধিত্ব করে পূর্ণসংখ্যা চতুর্ভুজগুলির একটি তালিকা। আরও স্পষ্টতই, একটি চতুর্ভুজ (x,y,w,h)
প্রস্থ w > 0
এবং উচ্চতার একটি আয়তক্ষেত্র পুনরাবৃত্তি করে h > 0
যার দক্ষিণ-পশ্চিম কোণটি রয়েছে (x,y)
। আয়তক্ষেত্রগুলি অবশ্যই ইনপুট অঞ্চলের যথাযথ প্রচ্ছদ গঠন করতে পারে, এই অর্থে যে ইউনিট স্কোয়ারগুলির প্রত্যেকটিই কিছু আয়তক্ষেত্রের উপসেট হয়, প্রতিটি আয়তক্ষেত্রটি অঞ্চলের একটি উপসেট হয় এবং দুটি আয়তক্ষেত্রগুলি কেবল তাদের সীমানায় ওভারল্যাপ হতে পারে। তুচ্ছ সমাধানগুলি নিষিদ্ধ করতে, আচ্ছাদনটিতে দুটি আয়তক্ষেত্র থাকতে হবে না যেগুলি একটি বৃহত আয়তক্ষেত্রে একত্রিত হতে পারে।
উদাহরণস্বরূপ, তালিকা
[(0,0,2,1),(0,1,3,1),(1,2,2,1)]
আইনী আচ্ছাদন প্রতিনিধিত্ব করে
উপরের অঞ্চলটি যেখানে প্রচ্ছদ দেওয়া হয়েছে
[(0,0,2,2),(2,1,1,1),(1,2,1,1),(2,2,1,1)]
অবৈধ, যেহেতু প্রতিবেশী 1-বাই -1 স্কোয়ারগুলি একত্রীকরণ করা যেতে পারে:
বিধি
আপনি একটি সম্পূর্ণ প্রোগ্রাম বা একটি ফাংশন দিতে পারেন। ইনপুট এবং আউটপুটটির সুনির্দিষ্ট বিন্যাস কারণের মধ্যে গুরুত্বপূর্ণ নয়। সংক্ষিপ্ততম বাইট গণনা জয় এবং মানক লুফোলগুলি অনুমোদিত নয়। আপনি আপনার অ্যালগরিদম এবং কিছু উদাহরণ আউটপুট ব্যাখ্যা ব্যাখ্যা করতে উত্সাহিত করা হয়।
পরীক্ষার মামলা
একটি U- আকারের অঞ্চল:
[(0,0),(0,1),(0,2),(0,3),(0,4),(0,5),(1,0),(1,1),(1,2),(1,3),(1,4),(1,5),(2,0),(2,1),(3,0),(3,1),(4,0),(4,1),(4,2),(4,3),(4,4),(4,5),(5,0),(5,1),(5,2),(5,3),(5,4),(5,5)]
একটি বৃহত ত্রিভুজ:
[(0,0),(0,1),(0,2),(0,3),(0,4),(0,5),(0,6),(0,7),(0,8),(0,9),(1,0),(1,1),(1,2),(1,3),(1,4),(1,5),(1,6),(1,7),(1,8),(2,0),(2,1),(2,2),(2,3),(2,4),(2,5),(2,6),(2,7),(3,0),(3,1),(3,2),(3,3),(3,4),(3,5),(3,6),(4,0),(4,1),(4,2),(4,3),(4,4),(4,5),(5,0),(5,1),(5,2),(5,3),(5,4),(6,0),(6,1),(6,2),(6,3),(7,0),(7,1),(7,2),(8,0),(8,1),(9,0)]
গর্তযুক্ত একটি বর্গ:
[(0,0),(0,1),(0,2),(0,3),(0,4),(0,5),(0,6),(0,7),(0,8),(1,0),(1,1),(1,2),(1,3),(1,4),(1,5),(1,6),(1,7),(1,8),(1,9),(2,0),(2,1),(2,2),(2,3),(2,4),(2,5),(2,6),(2,7),(2,8),(2,9),(3,0),(3,1),(3,2),(3,4),(3,5),(3,6),(3,7),(3,8),(3,9),(4,0),(4,1),(4,2),(4,3),(4,4),(4,5),(4,6),(4,7),(4,8),(4,9),(5,0),(5,1),(5,2),(5,3),(5,4),(5,5),(5,7),(5,8),(5,9),(6,1),(6,2),(6,3),(6,5),(6,6),(6,7),(6,8),(6,9),(7,0),(7,1),(7,2),(7,3),(7,4),(7,5),(7,6),(7,7),(7,8),(7,9),(8,0),(8,1),(8,2),(8,3),(8,4),(8,5),(8,6),(8,7),(8,8),(8,9),(9,0),(9,1),(9,2),(9,3),(9,4),(9,5),(9,6),(9,7),(9,8),(9,9)]
সংযুক্ত অঞ্চল:
[(0,0),(0,1),(0,2),(0,3),(0,4),(0,5),(0,6),(0,7),(0,8),(1,0),(1,1),(1,2),(1,3),(1,4),(1,6),(1,7),(1,8),(1,9),(2,1),(2,2),(2,3),(2,4),(2,5),(2,6),(2,7),(2,8),(2,9),(4,0),(4,1),(4,2),(4,4),(4,5),(4,6),(4,7),(4,8),(4,9),(5,0),(5,1),(5,2),(5,3),(5,4),(5,5),(5,6),(5,7),(5,8),(5,9),(6,0),(6,1),(6,2),(6,4),(6,5),(6,6),(6,7),(6,8),(6,9),(8,0),(8,1),(8,2),(8,3),(8,4),(8,5),(8,6),(8,7),(8,8),(8,9),(9,0),(9,1),(9,2),(9,3),(9,7),(9,8),(9,9),(10,0),(10,1),(10,2),(10,3),(10,4),(10,5),(10,6),(10,7),(10,8),(10,9)]
যাচাইকারী
আপনার সমাধানটি যাচাই করতে এই পাইথন 2 প্রোগ্রামটি ব্যবহার করুন । এটি STDIN থেকে কমা দ্বারা পৃথককৃত টিপলগুলির একটি তালিকা (ইনপুট) এবং চতুর্ভুজগুলির একটি তালিকা (আপনার আউটপুট) লাগে।
আমি ছবি তৈরি করতে এই পাইথন 2 প্রোগ্রামটিও লিখেছিলাম এবং আপনি এটি ব্যবহার করতে পারেন। এটি STDIN থেকে টিপলস বা চতুর্ভুজগুলির একটি তালিকা নেয় এবং একটি ফাইল তৈরি করে out.png
। এটি পিআইএল লাইব্রেরি প্রয়োজন। আপনি চাইলে গ্রিড সেলগুলির আকার এবং গার্ড লাইনের প্রস্থও পরিবর্তন করতে পারেন।