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

C++ कोड: n-राउंड गेम का विजेता ढूंढें


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

उदाहरण के लिए, यदि इनपुट n = 4, scores = {{4, 3}, {3, 2}, {5, 6}, {2, 5}} है, तो आउटपुट Draw होगा।

चरण

इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:

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++ प्रोग्राम ग्राफ में सुपर वर्टेक्स खोजने का C++ प्रोग्राम

    मान लीजिए n वर्टेक्स वाला एक ग्राफ दिया गया है। वर्टेक्स 1 से n तक संख्याबद्ध हैं और edges सरणी में दी गई एज्स से जुड़े हैं। प्रत्येक वर्टेक्स का एक x मान है जो 1 से n के बीच होता है, यह values सरणी में दिया गया है। हमें ग्राफ में सुपर वर्टेक्स खोजने हैं। एक वर्टेक्स i को सुपर वर्टेक्स कहा जाता है

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

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

  1. - C++ में ग्रे कोड (Gray Code)

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