কম্পিউটার টিউটোরিয়াল

পাইথনে গ্রিডে বর্গের সংখ্যা গণনা (Mod 10^9+7)

দুটি মান p (সারি) এবং q (কলাম) দেওয়া আছে। একটি p×q গ্রিডে সমান দূরত্বে পয়েন্ট রেখে কতটি уникаল বর্গ (Square) তৈরি করা যায় তা বের করতে হবে। বর্গের পাশগুলো গ্রিডের অ্যাক্সিসের সাথে সমান্তরাল হলো আবশ্যক নয়। ফলাফল 10^9+7 দিয়ে মডুলো।

উদাহরণ: p = 4, q = 4 → আউটপুট 20।

সমাধানের ধাপসমূহ (গাণিতিক ফর্মুলা)

  1. ans := 0

  2. i = 0 থেকে min(r, c) - 1 পর্যন্ত লুপ:

    • ans += (r - i) * (c - i) * i

  3. ans % (10^9+7) রিটার্ন করুন।

পাইথন কোড উদাহরণ

class Solution:
    def solve(self, r, c):
        ans = 0
        for i in range(min(r, c)):
            ans += (r - i) * (c - i) * i
        return ans % (10 ** 9 + 7)

ob = Solution()
print(ob.solve(4, 4))

ইনপুট

p = 4 q = 4

আউটপুট

20
  1. C++ প্রোগ্রাম: গ্রিডে আলোকিত কক্ষের সংখ্যা গণনা

  2. পাইথনে গ্রাফ সবাই দ্বারা ট্রাভার্সেবল কিনা চেক করার প্রোগ্রাম

  3. গোডাউনে বাম থেকে ডানে বক্স রাখার প্রোগ্রাম

  4. পাইথন প্রোগ্রাম লিস্টে সবচেয়ে ছোট সংখ্যা বের করা