मान लीजिए कि हमारे पास एक संख्या n है। एक खेल में, प्रत्येक चरित्र के चार अलग-अलग स्वास्थ्य बिंदु (HP) होते हैं। श्रेणियां इस प्रकार हैं -
-
कैटेगरी ए :अगर एचपी फॉर्म (4n + 1)
. में है -
श्रेणी बी :यदि एचपी फॉर्म (4n + 3)
. में है -
श्रेणी सी :यदि एचपी (4n + 2) के रूप में है
-
श्रेणी डी:यदि एचपी फॉर्म 4एन में है
इन 4 श्रेणियों को उच्चतम से निम्नतम तक क्रमबद्ध किया गया है जैसे ए> बी> सी> डी। तो, श्रेणी ए उच्चतम है और श्रेणी डी सबसे कम है। गेम खेलते समय खिलाड़ी कैरेक्टर के एचपी को बढ़ा सकते हैं। अब, अमल चाहता है कि आप उसके एचपी को अधिकतम 2 (अर्थात 0, 1 या 2 से) बढ़ाएँ। हमें यह पता लगाना है कि उसे अपने एचपी को कितना बढ़ाना चाहिए ताकि इसकी उच्चतम संभव श्रेणी हो?
इसलिए, यदि इनपुट n =98 की तरह है, तो आउटपुट 1 B होगा, क्योंकि 98 श्रेणी C में (4*24 +2) के रूप में है, इसे 1 से बढ़ाकर, इसे श्रेणी B में अपग्रेड किया जाएगा, लेकिन यदि हम इसे बढ़ाकर 2 कर देते हैं, यह 100(4*25) होगा जो कि श्रेणी डी है। इसलिए अधिकतम श्रेणी बी संभव है।
कदम
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
if n mod 4 is same as 2, then: return "1 B" Otherwise return |(n mod 4) - 1| and 'A'
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
#include <bits/stdc++.h> using 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