কম্পিউটার

পাইথনে চওড়া না হওয়া ক্রমে আয়তক্ষেত্রগুলিকে পুনরায় সাজানো সম্ভব কিনা তা পরীক্ষা করুন


ধরুন আমাদের কাছে আয়তক্ষেত্রগুলির একটি তালিকা রয়েছে যা এর দৈর্ঘ্য এবং প্রস্থ ব্যবহার করে উপস্থাপন করা হয়েছে। আমরা যেকোন আয়তক্ষেত্রকে 90 ডিগ্রি ঘোরাতে পারি তাই ঘোরার পরে, প্রস্থ দৈর্ঘ্যে পরিণত হবে এবং এর বিপরীতে। আমরা আয়তক্ষেত্রগুলিকে প্রস্থের অ-ক্রমবর্ধমান ক্রমে সাজাতে পারি কিনা তা পরীক্ষা করতে হবে৷

সুতরাং, যদি ইনপুটটি rects =[[4, 5], [5, 7], [4, 6]] এর মত হয়, তাহলে আউটপুটটি True হবে যেহেতু এখন আমরা ঘুরলে প্রস্থগুলি [5,7,6]। শেষ দুটি আয়তক্ষেত্র তারপর প্রস্থ হবে [5,5,4] যা অ-বাড়ন্ত উপায়ে।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • m :=99999
  • আমি রেঞ্জ 0 থেকে রেক্টের আকারের জন্য, কর
    • যদি ith আয়তক্ষেত্রের সর্বোচ্চ দৈর্ঘ্য ও প্রস্থ <=m হয়, তাহলে
      • m :=ith আয়তক্ষেত্রের সর্বাধিক দৈর্ঘ্য এবং প্রস্থ
    • অন্যথায় যখন ith আয়তক্ষেত্রের ন্যূনতম দৈর্ঘ্য ও প্রস্থ <=m
      • m :=ith আয়তক্ষেত্রের ন্যূনতম দৈর্ঘ্য এবং প্রস্থ
    • অন্যথায়,
      • মিথ্যে ফেরত দিন
  • সত্য ফেরান

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

def solve(rect):
   m = 99999
   for i in range(len(rect)):
      if max(rect[i][0], rect[i][1]) <= m:
         m = max(rect[i][0], rect[i][1])
      elif min(rect[i][0], rect[i][1]) <= m:
         m = min(rect[i][0], rect[i][1])
      else:
         return False
   return True
rects = [[4, 5], [5, 7], [4, 6]]
print(solve(rects))

ইনপুট

[[4, 5], [5, 7], [4, 6]]

আউটপুট

True

  1. পাইথনে ভেক্টর এ ঘুরিয়ে এবং ভেক্টর সি যোগ করে ভেক্টর বি-তে পৌঁছানো সম্ভব কিনা তা পরীক্ষা করুন

  2. স্ট্রিং পাইথনে প্যাটার্ন দ্বারা সংজ্ঞায়িত অক্ষরগুলির ক্রম অনুসরণ করে কিনা তা পরীক্ষা করুন

  3. পাইথনে প্রদত্ত কোণ দিয়ে ধনাত্মক ক্ষেত্রফলের একটি ত্রিভুজ সম্ভব কিনা তা পরীক্ষা করুন

  4. পাইথন - অভিধান খালি কিনা তা পরীক্ষা করুন