मान लीजिए कि n संख्या में कैशियर पैसे का आदान-प्रदान कर रहे हैं, इस समय i-th कैशियर के सामने लोगों की संख्या थी। अब, i-वें कैशियर की पंक्ति में j-वें व्यक्ति के पास m[i,j] नोट थे। हमें यह पता लगाना होगा कि कोई अपने नोटों को कितनी जल्दी बदल सकता है। हमें यह ध्यान रखना होगा कि कैशियर ने एक नोट को स्कैन करने में 5 सेकंड का समय लगाया। ग्राहक के लिए प्रत्येक नोट की स्कैनिंग पूरी करने के बाद, उसने नोटों को बदलने के लिए 15 सेकंड का समय लिया।
तो, यदि इनपुट इनपुट की तरह है:n =6, k =[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 होगा, क्योंकि कैशियर को प्रत्येक ग्राहक के प्रत्येक नोट को स्कैन करने के लिए 5 सेकंड की आवश्यकता होती है, इसलिए 5*m[I,j] जोड़ें। अब प्रत्येक कैशियर प्रत्येक ग्राहक के लिए 15 सेकंड लेता है, इसलिए उत्तर में 15*k[] जोड़ें। प्रत्येक कैशियर द्वारा लिए गए समय की गणना के बाद लिया गया न्यूनतम समय उत्तर होगा। तो खजांची एम [5] न्यूनतम समय 585 लेता है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
n :=k का आकार
-
न्यूनतम:=99999
-
मेरे लिए 0 से n की सीमा में, करें
-
अस्थायी :=k[i] * 15
-
j के लिए 0 से k[i] की सीमा में, करें
-
अस्थायी:=अस्थायी + एम [i, जे] * 5
-
-
यदि अस्थायी <न्यूनतम, तो
-
न्यूनतम:=अस्थायी
-
-
-
न्यूनतम वापसी
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
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))
इनपुट
[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