কম্পিউটার

পাইথনে একটি দ্বীপের আকারের পরিধি খুঁজে বের করার জন্য প্রোগ্রাম


ধরুন আমাদের একটি বাইনারি ম্যাট্রিক্স আছে যেখানে 0 খালি ঘর দেখায় এবং 1 একটি ব্লক দেখায় যা একটি আকৃতি তৈরি করে, এখন আমাদের আকৃতির পরিধি খুঁজে বের করতে হবে। আকৃতির ভিতরে কোন ছিদ্র থাকবে না।

সুতরাং, যদি ইনপুট মত হয়

0 0 0 0 0
0 0 1 1 1
0 0 1 1 0
0 1 1 1 0
0 0 0 0 0

তাহলে আউটপুট 14 হবে।

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

  • d :=0

  • পরিধি :=0

  • উচ্চতা :=ম্যাট্রিক্সের সারি গণনা

  • দৈর্ঘ্য :=ম্যাট্রিক্সের কলাম সংখ্যা

  • ম্যাট্রিক্সের প্রতিটি সারির জন্য, করুন

    • c :=0

    • সারিতে প্রতিটি ভ্যালের জন্য, করুন

      • যদি val 1 এর মত হয়, তাহলে

        • ঘিরে :=4

        • যদি c দৈর্ঘ্য - 1 এর সমান না হয়, তাহলে

          • যদি ম্যাট্রিক্স[d, c + 1] 1 এর মত হয়, তাহলে

            • ঘিরে :=চারপাশ - 1

        • যদি c 0 এর মত না হয়, তাহলে

          • যদি ম্যাট্রিক্স[d, c - 1] 1 এর মত হয়, তাহলে

            • ঘিরে :=চারপাশ - 1

        • যদি d উচ্চতা - 1 এর সমান না হয়, তাহলে

          • যদি ম্যাট্রিক্স[d + 1, c] 1 এর মত হয়, তাহলে

            • ঘিরে :=চারপাশ - 1

        • যদি d 0 এর মত না হয়, তাহলে

          • যদি ম্যাট্রিক্স[d - 1, c] 1 এর মত হয়, তাহলে

            • ঘিরে :=চারপাশ - 1

        • পরিধি :=পরিধি + চারপাশ

        • c :=c + 1

    • d :=d + 1

  • রিটার্ন পরিধি

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

উদাহরণ

শ্রেণির সমাধান:def solve(self, matrix):d =0 perimeter =0 height =len(matrix) length =len(matrix[0]) ম্যাট্রিক্সে লাইনের জন্য:c =0 লাইনে val এর জন্য:if val ==1:চারপাশ =4 যদি c !=দৈর্ঘ্য - 1:যদি ম্যাট্রিক্স[d][c + 1] ==1:চারপাশ -=1 যদি c !=0:যদি ম্যাট্রিক্স[d][c - 1] ==1:চারপাশ -=1 যদি d !=উচ্চতা - 1:যদি ম্যাট্রিক্স[d + 1][c] ==1:চারপাশ -=1 যদি d !=0:যদি ম্যাট্রিক্স[d - 1][c] ==1:চারপাশ -=1 ঘের +=ঘেরাউন্ড c +=1 d +=1 রিটার্ন ঘের =সমাধান() ম্যাট্রিক্স =[ [ [ 0,0,0,0,0] , [ 0,0,1,1,1 ], [0,0,1,1,0], [0,1,1,1,0], [0,0,0,0,0]]মুদ্রণ(ob.solve(matrix))

ইনপুট

<প্রি>ম্যাট্রিক্স =[[0,0,0,0,0],[0,0,1,1,1],[0,0,1,1,0],[0,1,1,1 ,0],[0,0,0,0,0]]

আউটপুট

14

  1. একটি ম্যাট্রিক্সের স্থানান্তর খুঁজে পেতে পাইথন প্রোগ্রাম

  2. অ্যারের যোগফল খুঁজে পেতে পাইথন প্রোগ্রাম

  3. পাইথন প্রোগ্রামে একটি সিলিন্ডারের পরিধি খুঁজুন

  4. একটি সিলিন্ডারের পরিধি খুঁজে বের করার জন্য পাইথন প্রোগ্রাম