मान लीजिए हमारे पास एक संख्या n है। एक खेल में, प्रत्येक चरित्र के चार अलग-अलग हेल्थ पॉइंट्स (HP) होते हैं। श्रेणियां इस प्रकार हैं:
श्रेणी A: यदि HP (4n + 1) के रूप में है
श्रेणी B: यदि HP (4n + 3) के रूप में है
श्रेणी C: यदि HP (4n + 2) के रूप में है
श्रेणी D: यदि HP 4n के रूप में है
ये 4 श्रेणियां उच्चतम से निम्नतम तक क्रमबद्ध हैं A > B > C > D। तो, श्रेणी A उच्चतम है और श्रेणी D निम्नतम। खेल खेलते समय, खिलाड़ी चरित्र के HP को बढ़ा सकते हैं। अब, अमल चाहता है कि आप उसके HP को अधिकतम 2 से बढ़ाएं (यानी, या तो 0, 1 या 2 से)। हमें ढूंढना है कि उसे अपने HP को कितना बढ़ाना चाहिए ताकि उसकी उच्चतम संभव श्रेणी हो?
उदाहरण के लिए, यदि इनपुट n = 98 है, तो आउटपुट 1 B होगा, क्योंकि 98 श्रेणी C में है (4*24 + 2), इसे 1 से बढ़ाने पर यह श्रेणी B में अपग्रेड हो जाएगा, लेकिन यदि हम इसे 2 से बढ़ाते हैं, तो यह 100 (4*25) होगा जो श्रेणी D है। तो अधिकतम श्रेणी B संभव है।
चरण
इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:
if n mod 4 is same as 2, then: return "1 B" Otherwise return |(n mod 4) - 1| and 'A'
उदाहरण
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
#includeusing namespace std; void solve(int n){ if (n % 4 == 2) cout << "1 B"; else cout << abs(n % 4 - 1) << " A"; } int main(){ int n = 98; solve(n); }
इनपुट
98
आउटपुट
1 B