Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में निम गेम


समस्या विवरण

मान लीजिए हम दूसरे खिलाड़ी के साथ निम गेम नामक गेम खेल रहे हैं। पत्थरों का एक ढेर है, प्रत्येक बार एक खिलाड़ी बारी-बारी से 1 से 3 पत्थर हटाता है। जो अंतिम पत्थर हटाता है वह विजेता होता है। खिलाड़ी 1 पत्थर हटाने की पहली बारी लेगा। दोनों खिलाड़ी बहुत चालाक हैं और खेल के लिए इष्टतम रणनीतियां रखते हैं। हमें ढेर में पत्थरों की संख्या दी गई है, यह निर्धारित करने के लिए एक एल्गोरिदम तैयार करना है कि क्या खिलाड़ी 1 खेल जीत सकता है।

उदाहरण

यदि इनपुट है: 5, तो आउटपुट होगा true, क्योंकि 5 पत्थर हैं, इसलिए शुरुआत में, यदि खिलाड़ी 1 एक पत्थर लेता है, तो दूसरा खिलाड़ी 1 से 3 पत्थर ले सकता है, खिलाड़ी 2 की बारी के बाद कम से कम एक पत्थर बचेगा, इसलिए खिलाड़ी 1 जीत सकता है।

हल करने का दृष्टिकोण

इसे एक सरल चरण का उपयोग करके हल किया जा सकता है:

  • यदि n % 4 != 0 तो true लौटाएं, अन्यथा false

C++ कार्यान्वयन

#include <bits/stdc++.h>
using namespace std;

class Solution {
public:
    bool canWinNim(int n) {
        return n % 4 != 0;
    }
};

int main() {
    Solution ob;
    cout << (ob.canWinNim(5));
    return 0;
}

इनपुट

5

आउटपुट

1
  1. C++ में ट्री में एक पंक्ति जोड़ें C++ में ट्री में एक पंक्ति जोड़ें

    मान लीजिए हमारे पास एक बाइनरी ट्री है, हमारे पास मान v और गहराई d भी है, हमें दिए गए गहराई d पर मान v वाले नोड्स की एक पंक्ति जोड़नी है। रूट नोड गहराई 1 पर है। हमें इस ऑपरेशन को करने के लिए निम्न नियम का पालन करना होगा: चूंकि हमें गहराई d पता है, गहराई d-1 पर प्रत्येक वैध ट्री नोड N के लिए, हमें मा

  1. C++ में जंप गेम IV C++ में जंप गेम IV

    मान लीजिए हमारे पास arr नामक पूर्णांकों की एक सरणी है। हम प्रारंभ में इंडेक्स 0 पर हैं। एक चरण में हम इंडेक्स i से i + x पर कूद सकते हैं जहां: i + x = 0, j जहां: arr[i] और arr[j] समान हैं और i और j समान नहीं हैं। यहां n सरणी का आकार है। हमें सरणी के अंतिम इंडेक्स तक पहुंचने के लिए न्यूनतम चरणों की स

  1. C++ में जंप गेम V C++ में जंप गेम V

    मान लीजिए हमारे पास arr नामक पूर्णांकों की एक सरणी और एक पूर्णांक d है। एक चरण में हम इंडेक्स i से कूद सकते हैं: i + x जहां: i + x < n और x की सीमा 1 से d है। = 0 और x की सीमा 1 से d है। arr[k] हो। हम सरणी के किसी भी इंडेक्स से कूदना शुरू कर सकते हैं। हमें अधिकतम इंडेक्स की संख्या ज्ञात करनी है ज