मैं एसपीओजे https://www.spoj.pl/problems/DIEHARD/ पर एक अभ्यास प्रश्न हल करने की कोशिश कर रहा था। हालांकि मेरे लालची दृष्टिकोण दोनों के परिणामस्वरूप गलत जवाब और बुरी स्थिति के लिए रिकर्सन बहुत धीमी थी। क्या कोई इस समस्या से कैसे संपर्क कर सकता है? मैं किसी को सही दिशा में इंगित करने के लिए ढूंढ रहा हूं।एसपीओजे डायहार्ड को हल करने का सही तरीका क्या है?
खेल सरल है। शुरुआत में आपके पास 'एच' स्वास्थ्य की मात्रा और 'ए' कवच की मात्रा है। किसी भी पल में आप तीनों स्थानों में से किसी एक में रह सकते हैं - आग, पानी और हवा। प्रत्येक इकाई के समय के बाद, आपको अपनी जिंदगी की जगह बदलनी होगी। उदाहरण के लिए यदि आप वर्तमान में आग में रह रहे हैं, तो आप या तो पानी या हवा में कदम उठा सकते हैं।
- आप हवा में कदम है, तो 3 से आपके स्वास्थ्य बढ़ जाती है और 2
- करके अपने कवच बढ़ जाती है कि आप पानी में कदम है, तो 5 से आपके स्वास्थ्य कम हो जाती है और 10
करके अपने कवच कम हो जाती है आप आग में कदम तो 20 से आपके स्वास्थ्य कम हो जाती है और 5करके अपने कवच बढ़ जाती है आपके स्वास्थ्य या कवच < = 0 हो जाता है, तो आप मर जाएगा तुरन्त
अधिक से अधिक समय आप जीवित रह सकते हैं का पता लगाएं।
इनपुट:
पहली पंक्ति एक पूर्णांक टी के होते हैं, परीक्षण के मामलों की संख्या।
प्रत्येक परीक्षा मामले के लिए अधिक से अधिक समय आप जीवित रह सकते हैं लगता है: प्रत्येक परीक्षा मामले के लिए वहाँ दो सकारात्मक प्रारंभिक स्वास्थ्य एच और प्रारंभिक कवच ए
आउटपुट का प्रतिनिधित्व पूर्णांकों हो जाएगा।
एच और एक की अधिकतम इनपुट क्या है:
यहाँ कार्यान्वयन के ideone लिंक है? –
"इनपुट बाधाएं: 1 <= t <= 10 1 <= एच, ए <= 1000 " –
क्या आपने लालची समाधान की कोशिश की है? जब भी संभव हो हवा पर जाएं क्योंकि इससे सबकुछ बढ़ जाता है, अन्यथा यदि कवच> स्वास्थ्य पानी में जाता है अन्यथा अगर यह आपको मार नहीं देता है तो आप आग में जाते हैं। – IVlad