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

পাইথনে ক্যাশিয়ারের সারি থেকে নোট এক্সচেঞ্জের ন্যূনতম সময় বের করুন


সমস্যা বিবরণ

n সংখ্যক ক্যাশিয়ার আছে। i-তম ক্যাশিয়ারের সামনে k[i] জন মানুষ আছে। j-তম মানুষের m[i][j] টি নোট আছে। প্রতিটি নোট স্ক্যান করতে ৫ সেকেন্ড এবং প্রতিটি কাস্টমারের জন্য ১৫ সেকেন্ড এক্সট্রা লাগে। কোন ক্যাশিয়ারের সারি দাঁড়াতে সবচেয়ে কম সময় লাগবে তা বের করতে হবে।

উদাহরণস্বরূপ, দেওয়া ইনপুটে আউটপুট 585 (৫ম ক্যাশিয়ারের জন্য)।

সমাধানের ধাপসমূহ

  1. minimum = 99999।
  2. প্রতিটি ক্যাশিয়ার i এর জন্য:
    • temp = k[i] * 15 (কাস্টমার প্রতি ১৫ সেকেন্ড)।
    • প্রতিটি কাস্টমার j এর জন্য: temp += m[i][j] * 5 (নোট প্রতি ৫ সেকেন্ড)।
    • minimum = min(minimum, temp)।
  3. minimum রিটার্ন করুন।

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

def minTimeToExchange(k, m):
    n = len(k)
    minimum = 99999
    for i in range(n):
        temp = k[i] * 15
        for j in range(k[i]):
            temp += m[i][j] * 5
        if temp < minimum:
            minimum = temp
    return minimum

k = [12, 12, 12, 12, 12, 12]
m = [
    [7,8,9,7,9,6,10,9,9,6,7,8],
    [10,7,10,9,8,9,9,9,9,6,5,6],
    [9,8,8,9,8,6,7,9,10,6,6,7],
    [7,6,9,6,6,9,8,9,6,6,8,9],
    [9,8,7,6,5,10,8,10,7,6,6,8],
    [8,7,6,5,7,9,7,9,6,5,5,7]
]
print(minTimeToExchange(k, m))  # আউটপুট: 585

ইনপুট

[12, 12, 12, 12, 12, 12], [[7,8,9,7,9,6,10,9,9,6,7,8], [10,7,10,9,8,9,9,9,9,6,5,6], [9,8,8,9,8,6,7,9,10,6,6,7], [7,6,9,6,6,9,8,9,6,6,8,9], [9,8,7,6,5,10,8,10,7,6,6,8], [8,7,6,5,7,9,7,9,6,5,5,7]]

আউটপুট

585
  1. পাইথনে রঙ মার্জ করলে অবশিষ্ট ন্যূনতম রঙের সংখ্যা বের করার প্রোগ্রাম

  2. পাইথনে n x m আকারের রেক্ট্যাঙ্গেলে 2x1 আকারের সর্বোচ্চ কতটি রেক্ট্যাঙ্গেল ফিট হবে তা বের করুন

  3. পাইথনে ম্যাট্রিক্সে একটি সেল থেকে অন্য সেলে যেতে ন্যূনতম মুভ সংখ্যা

  4. পাইথন ফাংশনের আর্গামেন্ট সংখ্যা বের করার পদ্ধতি