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

सी++ कोड यह पता लगाने के लिए कि एन-राउंड गेम किसने जीता

मान लीजिए, एक दो-खिलाड़ियों का खेल है जिसमें n राउंड हैं। राउंड के स्कोर एक सरणी 'स्कोर' में दिए गए हैं जहां प्रत्येक तत्व {P1 Score, P2 Score} प्रारूप का है। उच्च स्कोर वाला खिलाड़ी एक राउंड जीतता है, और एक खिलाड़ी खेल जीतता है यदि उन्होंने अधिक राउंड जीते हैं; अन्यथा, इसे ड्रॉ के रूप में घोषित किया जाता है। इसलिए, स्कोर को देखते हुए, हमें यह पता लगाना होगा कि गेम किसने जीता है।

इसलिए, यदि इनपुट n =4, स्कोर ={{4, 3}, {3, 2}, {5, 6}, {2, 5}} जैसा है, तो आउटपुट ड्रा होगा।

कदम

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

res := 0
while n is non-zero, do:
   a := first value of scores[n]
   b := second value of scores[n]
   res := res + ((if a > b, then 1, otherwise (if a < b, then -1, otherwise 0)))
   n := n - 1
return (if res > 0, then "P1", otherwise (if res < 0, then "P2", otherwise "Draw"))

उदाहरण

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

#include <bits/stdc++.h>
using namespace std;
#define N 100
string solve(int n, vector<pair<int, int>> scores) {
   int res = 0;
   while(n--){
      int a = scores[n].first;
      int b = scores[n].second;
      res += (a > b ? 1 : (a < b ? -1 : 0));
   }
   return res > 0 ? "P1" : (res < 0 ? "P2" : "Draw");
}
int main() {
   int n = 4;
   vector<pair<int, int>> scores = {{4, 3}, {3, 2}, {5, 6}, {2,5}};
   cout<< solve(n, scores);
   return 0;
}

इनपुट

4, {{4, 3}, {3, 2}, {5, 6}, {2, 5}}

आउटपुट

Draw

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

    मान लीजिए, हमें एक ग्राफ दिया गया है जिसमें n शीर्ष हैं। कोने 1 से n तक गिने जाते हैं, और वे सरणी किनारों में दिए गए किनारों से जुड़े होते हैं। प्रत्येक शीर्ष का 1 से n तक की संख्या के भीतर x मान होता है जो कि सरणी मान में दिया जाता है। अब, हमें ग्राफ से अति शीर्षों का पता लगाना है। एक शीर्ष i को सु

  1. सी ++ में स्टोन गेम II

    मान लीजिए कि एलिस और बॉब दो व्यक्ति हैं, वे पत्थरों के ढेर के साथ अपना खेल जारी रख रहे हैं। एक पंक्ति में ढेरों ढेर लगाए गए हैं, और प्रत्येक ढेर में एक सरणी ढेर में पत्थरों की एक धनात्मक पूर्णांक संख्या है [i]। खेल का हमारा उद्देश्य सबसे अधिक पत्थरों के साथ समाप्त करना है। ऐलिस और बॉब मोड़ लेते हैं,

  1. सी++ में ग्रे कोड

    जैसा कि हम जानते हैं कि ग्रे कोड एक द्विआधारी अंक प्रणाली है जहां दो क्रमिक मान केवल एक बिट में भिन्न होते हैं। मान लीजिए कि हमारे पास कोड में बिट्स की कुल संख्या का प्रतिनिधित्व करने वाला एक गैर-ऋणात्मक पूर्णांक n है। हमें ग्रे कोड के सीक्वेंस को प्रिंट करना होता है। एक ग्रे कोड अनुक्रम 0 से शुरू ह