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

C++ में गेम जीतने के लिए आवश्यक न्यूनतम खिलाड़ी

समस्या कथन

प्रत्येक प्रश्न के लिए N प्रश्न और K विकल्प दिए गए हैं, जहां 1 <=N <=1000000000 और 1 <=K <=1000000000। कार्य सभी 1 <=i <के लिए ith प्रश्न का प्रयास करने वाले खिलाड़ी की कुल संख्या का योग निर्धारित करना है। =k किसी भी तरह खेल जीतने के लिए। आपको प्लेयर की कुल संख्या के योग को कम करना होगा और इसे 109+7 मॉड्यूलो आउटपुट करना होगा।

कृपया ध्यान दें कि कोई भी गलत उत्तर खिलाड़ी को समाप्त कर देता है

उदाहरण

यदि N =5 और K =2 है तो उत्तर 62 है।

एल्गोरिदम

  • N th को हल करने के लिए प्रश्न K खिलाड़ियों की आवश्यकता है।
  • समाधान के लिए (N-1) th प्रश्न K2 खिलाड़ियों की आवश्यकता है।
  • इसी तरह आगे बढ़ते हुए, 1 st . हल करने के लिए प्रश्न केएन खिलाड़ियों की आवश्यकता है।
  • इसलिए, हमारी समस्या GP पदों K + K 2 का योग निकालने तक कम हो जाती है + … + केएन जो बराबर है:K(K n -1) / के -1

उदाहरण

#include <iostream>
#include <cmath>
#define MOD 1000000007
using namespace std;
long long int power(long long a, long long b) {
   long long res = 1;
   while (b) {
      if (b & 1) {
         res = res * a;
         res = res % MOD;
      }
      b = b / 2;
      a = a * a;
      a = a % MOD;
   }
   return res;
}
long long getMinPlayer(long long n, long long k) {
   long long num = ((power(k, n) - 1) + MOD) % MOD;
   long long den = (power(k - 1, MOD - 2) + MOD) % MOD;
   long long ans = (((num * den) % MOD) * k) % MOD;
   return ans;
}
int main() {
   long long n = 5, k = 2;
   cout << "Minimum pairs = " << getMinPlayer(n, k) << endl;
   return 0;
}

आउटपुट

जब आप उपरोक्त प्रोग्राम को संकलित और निष्पादित करते हैं। यह निम्नलिखित आउटपुट उत्पन्न करता है -

Minimum pairs = 62

  1. खेल में n से शुरू होने वाली न्यूनतम संख्या ज्ञात करने के लिए C++ कोड

    मान लीजिए कि हमारे पास एक संख्या n है। एक खेल में शुरू में n का मान v होता है और खिलाड़ी निम्नलिखित ऑपरेशन को शून्य या अधिक बार करने में सक्षम होता है:एक सकारात्मक पूर्णांक x का चयन करें जो x

  1. सी ++ प्रोग्राम दुश्मन को हराने के लिए आवश्यक न्यूनतम संख्या में संचालन का पता लगाने के लिए

    मान लीजिए, हम एक वीडियो गेम खेल रहे हैं जहां नायक अपने दुश्मनों को हराने के लिए चाकू का उपयोग करता है। नायक चाकू का उपयोग दुश्मन को मारने के लिए कर सकता है या वह इसे दुश्मन की ओर फेंक सकता है। यदि नायक चाकू फेंकता है, तो उसे फिर से प्राप्त नहीं किया जा सकता है। चाकू i द्वारा किए गए नुकसान को चाकू सर

  1. सी ++ में प्रतिद्वंद्वी को पकड़ने के लिए आवश्यक न्यूनतम चरणों को खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास [u, v] के रूप में पेड़ के किनारों की एक सूची है, यह इंगित करता है कि u और v के बीच एक अप्रत्यक्ष किनारा है। और हमारे पास दो मान x और y भी हैं। यदि हम नोड x पर हैं, और हमारा प्रतिद्वंद्वी नोड y पर है। पहले दौर में, हम आगे बढ़ते हैं, फिर अगले दौर में प्रतिद्वंद्वी चलता है और इसी