একটি n×n ম্যাট্রিক্স ০ দিয়ে ইনিশিয়ালাইজড। একটি লিস্ট দেওয়া আছে যাতে রো এবং কলাম পজিশনের জোড়া আছে। লিস্টের প্রতিটি আইটেম [r, c] এর জন্য সকল সেল যাদের রো < r এবং কলাম < c, তাদের ভ্যালু ১ বাড়ানো হয়। সব অপারেশনের পর ম্যাট্রিক্সে সর্বোচ্চ মান কতটি সেলে আছে তা বের করতে হবে। (ইনডেক্স ০-ভিত্তিক)
উদাহরণ
ইনপুট: input_list = [[3, 5], [4, 6], [5, 3]]
আউটপুট: 9
৫×৬ ম্যাট্রিক্স ধরে। সর্বোচ্চ মান ৩ এবং ৯টি সেলে এটি পাওয়া যায়।
সমাধান পদ্ধতি
xpos := 0, ypos := 0- প্রতিটি
itemininput_list:- যদি
xpos == 0:xpos := item[0], ypos := item[1] - অন্যথায়:
xpos := min(xpos, item[0]), ypos := min(ypos, item[1])
- যদি
xpos * yposরিটার্ন করুন।
তত্ত্ব: সব অপারেশনের কমন এলিয়া হল (0,0) থেকে (min_row-1, min_col-1)।
পাইথন ইমপ্লিমেন্টেশন
def solve(input_list):
xpos = 0
ypos = 0
for item in input_list:
if xpos == 0:
xpos = item[0]
ypos = item[1]
else:
xpos = min(xpos, item[0])
ypos = min(ypos, item[1])
return xpos * ypos
# টেস্ট
print(solve([[3, 5], [4, 6], [5, 3]])) # আউটপুট: 9
ইনপুট
[[3, 5], [4, 6], [5, 3]]
আউটপুট
9