मेरे विश्वविद्यालय कोड चैलेंज प्रतियोगिता से अनुमति के साथ चुनौती ली गई
हमारे पास मोबाइल फोन पर निर्भरता हर रात बैटरी के अधिकतम स्तर तक हमें चार्ज करती है, इसलिए हम अगले दिन के मध्य तक बिजली से चलने का जोखिम नहीं उठाते हैं। यहां तक कि ऐसे लोग भी हैं, जब वे दिन के दौरान एक मुफ्त आउटलेट देखते हैं, जो कुछ भी हो सकता है, उसे चार्ज करने के लिए रख दें।
मैं उनमें से एक हूं।
इन वर्षों में, मैंने अपनी तकनीक को परिष्कृत किया है ताकि हर रात अधिकतम बैटरी चार्ज न की जा सके। मेरे पूरी तरह से दोहराए जाने वाले दिनचर्या के साथ, मैं स्पष्ट हूं कि दिन के किन समय में मैं उन आंशिक रिचार्ज (और कितनी इकाइयों का स्तर बढ़ाऊंगा) कर सकता हूं और प्रत्येक चार्ज के बीच बैटरी स्तर को कम करता है। इन आंकड़ों के साथ, हर रात मैं न्यूनतम बैटरी स्तर की गणना करता हूं मुझे अगले दिन घर छोड़ना पड़ता है ताकि यह दो इकाइयों की मेरी स्वयं की थ्रेसहोल्ड सीमा से नीचे कभी न हो।
जो मैंने अभी तक मास्टर करने में कामयाब नहीं किया है, वही गणना जब मैं स्थापित दिनचर्या को छोड़ता हूं और चीजों को करने के लिए मेरे पास कई विकल्प हैं। यह, उदाहरण के लिए, उन दिनों पर होता है जब मैं दूसरे शहर के लिए मार्ग पर होता हूं, जहां मैं विभिन्न तरीकों से पहुंच सकता हूं।
समस्या के लिए मेरे पहले दृष्टिकोण में, मैं मान रहा हूं कि मैं एक "शतरंज की बिसात" के चारों ओर बढ़ना चाहता हूं, ऊपरी-बाएं कोने से निचले-दाएं कोने तक। प्रत्येक "सेल" में मैं या तो मोबाइल को एक विशिष्ट राशि चार्ज कर सकता हूं, या मैं नहीं कर सकता और इसका लोड स्तर नीचे चला जाता है।
चुनौती
पूर्णांक के एक एफएक्ससी मैट्रिक्स को देखते हुए, न्यूनतम बैटरी स्तर की मात्रा का उत्पादन जो मुझे 2-इकाइयों से नीचे गिरने वाले लोड स्तर के बिना ऊपरी-बाएं कोने से नीचे-दाएं तक जाने की आवश्यकता होती है।
मैट्रिक्स में, एक सकारात्मक संख्या इंगित करती है कि मैं अपने पथ का अनुसरण करने से पहले अपने मोबाइल फोन को कितना चार्ज कर सकता हूं, जबकि एक नकारात्मक संख्या इंगित करती है कि कोई आउटलेट नहीं हैं और मोबाइल की बैटरी उस राशि द्वारा अपना चार्ज स्तर गिरा देती है। यह गारंटी दी जाती है कि स्रोत और गंतव्य कोशिकाओं (ऊपर-बाएं और नीचे-दाएं कोने) में मात्रा हमेशा 0 होती है और शेष मान (पूर्ण मान) 100 से अधिक नहीं होते हैं।
उदाहरण
दिया गया:
जिस पथ पर मुझे कम बैटरी चाहिए वह है:
और न्यूनतम बैटरी स्तर की राशि जिसकी मुझे आवश्यकता है 4 है
टिप्पणियाँ
- स्टार्ट हमेशा शीर्ष-बाएं कोने में होने वाला है
- द एंड हमेशा बॉटम-राइट कॉर्नर होने वाला है
- आप उस सेल पर नहीं जा सकते हैं जिसे आप पहले ही पास कर चुके हैं। उदाहरण: एक बार स्थिति (0,1) में, आप प्रारंभिक बिंदु (0,0) पर नहीं जा सकते
- आपकी बैटरी का स्तर (किसी भी कारण से) 2 से कम नहीं हो सकता
- आप मान सकते हैं कि हमेशा एक शुरुआत और एक अंत होगा
- यदि आपको आवश्यकता हो तो आप 1-आयामी सरणियों को बहुआयामी के रूप में ले सकते हैं
[1,2,3] == [[1,2,3]]
- कई सही (न्यूनतम आवश्यक शुल्क) पथ हो सकते हैं
- आपका लक्ष्य केवल न्यूनतम प्रारंभिक बैटरी स्तर की आवश्यकता है, न कि मार्ग का उत्पादन करना
- आप केवल लंबवत और क्षैतिज रूप से जा सकते हैं (तिरछे नहीं)
परीक्षण के मामलों
[0, 0] => 2
[0, 1, 0] => 2
[0, -1, 0] => 3
[0, 15, -20, 5, 0] => 7
[[0, -3],[-5, 0]] => 5
[[0, -5, -9, 5], [-3, 5, 2, -2], [2, -4, -4, 0]] => 5
[[0, -1, 1, -1], [-1, -1, -1, -1], [-1, 1, -1, -1], [1, 1, -1, 0]] => 4
[[0,1,-1],[-9,-9,1],[-9,1,-1],[-9,-1,-9],[-9,1,0]]
0s
ऊपर-बाएँ कोने पर केवल 2 ही रखे गए हैं और दूसरे नीचे-दाईं ओर