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

कार्ड गेम के विजेता को खोजने के लिए C++ प्रोग्राम

मान लीजिए कि हमारे पास क्रमशः k1 और k2 आकार की एक संख्या n, दो सरणियाँ A और B हैं। अमल और बिमलारे दिलचस्प कार्ड गेम खेल रहे हैं। n कार्ड हैं, जिनकी संख्या 1 से n है। प्रारंभ में कार्ड उनके बीच वितरित किए जाते हैं। खेल इस प्रकार है:प्रत्येक मोड़ पर, प्रत्येक खिलाड़ी अपना एक कार्ड (जो भी वे चाहते हैं) लेता है और टेबल पर रखता है, ताकि दूसरा खिलाड़ी यह न देखे कि उन्होंने कौन सा कार्ड चुना है। फिर, दोनों कार्ड प्रकट होते हैं, और खिलाड़ी, जिसका कार्ड नंबर बड़ा होता है, दोनों कार्ड अपने हाथ में लेता है। प्रत्येक कार्ड को कितनी भी बार खेला जा सकता है। अमल द्वारा खेले जाने वाले पत्तों का प्रतिनिधित्व करता है, बी उन पत्तों का प्रतिनिधित्व करता है जो बिमल खेलते हैं। यदि उसके पास कोई कार्ड नहीं है तो खिलाड़ी हार जाता है। हमें अंतिम विजेता को ढूंढना है।

तो, अगर इनपुट n =5 की तरह है; ए =[3, 2]; बी =[5, 1, 4], तो आउटपुट बिमल होगा, क्योंकि शुरू में वे खेल रहे हैं (3, 5), बिमल सभी कार्ड लेता है, फिर खेलता है (3, 1) अमल दोनों कार्ड लेता है, फिर अगर वे खेलते हैं (3) , 4) बिमल सब ले लेता है और फिर अगर अमल 1 खेलता है, तो बिमल उन्हें कार्ड 5 के साथ ले जाएगा, तो अमल के हाथ में कोई कार्ड नहीं होगा।

कदम

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

d := 0
e := 0
for initialize i := 0, when i < size of A, update (increase i by 1),
do:
   f := A[i]
   if d < f, then:
      d := f
for initialize i := 0, when i < size of A, update (increase i by 1),do:
   f := A[i]
   if e < f, then:
      e := f
if d > e, then:
   return "Amal"
Otherwise
   return "Bimal"

उदाहरण

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

#include<bits/stdc++.h>
using namespace std;
string solve(int n, vector<int> A, vector<int> B){
   int d = 0;
   int e = 0;
   for(int i = 0; i<A.size(); i++){
      int f = A[i];
      if (d < f)
      d = f;
   }
   for(int i = 0; i<A.size(); i++){
      int f = A[i];
      if(e < f)
      e = f;
   }
   if (d > e)
      return "Amal";
   else
      return "Bimal";
}
int main(){
   int n = 5;
   vector<int> A = {3, 2};
   vector<int> B = {5, 1, 4};
   cout << solve(n, A, B) << endl;
}

इनपुट

5, {3, 2}, {5, 1, 4}

आउटपुट

Bimal

  1. C++ प्रोग्राम एक ग्राफ मैट्रिक्स के व्युत्क्रम को खोजने के लिए

    यह एक ग्राफ मैट्रिक्स के व्युत्क्रम को खोजने के लिए एक C++ प्रोग्राम है। मैट्रिक्स का व्युत्क्रम केवल तभी मौजूद होता है जब मैट्रिक्स गैर-एकवचन होता है, अर्थात, सारणिक 0 नहीं होना चाहिए। मैट्रिक्स का व्युत्क्रम कई तरीकों से पता लगाया जा सकता है। यहाँ हम आसन्न मैट्रिक्स और उसके सारणिक का उपयोग करके एक

  1. एलसीएम खोजने के लिए सी ++ प्रोग्राम

    दो संख्याओं का अल्पतम समापवर्तक (LCM) वह छोटी से छोटी संख्या है जो दोनों का गुणज है। उदाहरण के लिए:मान लें कि हमारे पास निम्नलिखित दो संख्याएं हैं:15 और 9. 15 = 5 * 3 9 = 3 * 3 तो, 15 और 9 का एलसीएम 45 है। दो संख्याओं का LCM ज्ञात करने का कार्यक्रम इस प्रकार दिया गया है - उदाहरण #include <iost

  1. सी ++ प्रोग्राम जीसीडी खोजने के लिए

    दो संख्याओं का सबसे बड़ा सामान्य भाजक (GCD) उन दोनों को विभाजित करने वाली सबसे बड़ी संख्या है। उदाहरण के लिए:मान लें कि हमारे पास 45 और 27 दो संख्याएँ हैं। 45 = 5 * 3 * 3 27 = 3 * 3 * 3 तो, 45 और 27 का GCD 9 है। दो संख्याओं का GCD ज्ञात करने का कार्यक्रम इस प्रकार दिया गया है। उदाहरण #include <