এই চ্যালেঞ্জে আপনাকে দুটি ওভারল্যাপিং আয়তক্ষেত্র দেওয়া হবে এবং অন্যটি অপসারণ করে আপনাকে তৈরি আয়তক্ষেত্রগুলি গণনা করতে হবে।
উদাহরণস্বরূপ, আপনি যদি কালো থেকে লাল আয়তক্ষেত্রটি সরিয়ে থাকেন:
আপনি নিম্নলিখিত দুটি আয়তক্ষেত্র সেটগুলির মধ্যে একটি দিয়ে শেষ করেছেন:
আপনাকে নিম্নলিখিতগুলি পরিচালনা করতে হবে:
আরও সুস্পষ্ট হতে:
- আপনি দুটি এবং দুটি আয়তক্ষেত্রের স্থানাঙ্কগুলি ইনপুট করবেন will
- আপনাকে বি ছাড়াই এ এর সমস্ত অঞ্চল কভার করে এমন কয়েকটি অ-ওভারল্যাপিং আয়তক্ষেত্র আউটপুট করতে হবে যে কোনও সম্ভাব্য আচ্ছাদন অনুমোদিত
- আয়তক্ষেত্রাকার স্থানাঙ্কগুলি 4 পূর্ণসংখ্যা হিসাবে পাস করা হয়। আপনি এগুলি দুটি জোড়ায় (দুটি কোণার পয়েন্টগুলি উপস্থাপন করে), বা 4 টি সংখ্যার টুপল / তালিকা হিসাবে পাস করতে পারেন। আপনার ইনপুট এবং আউটপুটগুলি সামঞ্জস্যপূর্ণ হওয়া দরকার।
- A এবং B অগত্যা ওভারল্যাপ বা স্পর্শ করবে না এবং প্রত্যেকের কমপক্ষে 1 এর ক্ষেত্রফল থাকবে
পরীক্ষার কেস:
[(0 0) (5 5)] [(3 4) (8 7)] -> [(0 0) (5 4)] [(0 4) (3 5)] # or [(0 0) (3 5)] [(3 0) (5 4)]
[(2 4) (10 11)] [(5 5) (6 6)] -> [(2 4) (10 5)] [(2 5) (5 6)] [(6 5) (10 6)] [(2 6) (10 11)] #Other sets of 4 rectangles are possible
[(3 3) (8 8)] [(0 1) (10 8)] -> #No rectangles should be output
[(0 0) (5 5)] [(1 1) (10 2)] -> [(0 0) (1 5)] [(1 0) (2 1)] [(2 0) (5 5)] #Other sets of 3 rectangles are possible
[(1 5) (7 8)] [(0 0) (1 10)] -> [(1 5) (7 8)] #Only possible output
[(4 1) (10 9)] [(2 5) (20 7)] -> [(4 1) (10 5)] [(4 7) (10 9)] #Only possible output
[(1 1) (8 8)] [(0 6) (9 9)] -> [(1 1) (8 6)] #Only possible output
এটি একটি কোড-গল্ফ , সুতরাং আপনার কোডটি যতটা সম্ভব সংক্ষিপ্ত করুন!
{(x1, y1), (x2, y2)}
ধরেছে x1 < x2
এবং y1 < y2
?