मान लीजिए हमारे पास पाँच संख्याएँ s, v1, v2, t1 और t2 हैं। अमल और बिमल एक टाइपिंग गेम खेल रहे हैं, वे अपना गेम ऑनलाइन खेल रहे हैं। इस खेल में वे एक स्ट्रिंग टाइप करेंगे जिसकी लंबाई s है। अमल v1 मिलीसेकंड में एक वर्ण टाइप करता है और बिमल v2 मिलीसेकंड में एक वर्ण टाइप करता है। अमल का नेटवर्क विलंब t1 मिलीसेकंड है, और बिमल का नेटवर्क विलंब t2 मिलीसेकंड है।
यदि कनेक्शन में देरी t मिलीसेकंड है, तो प्रतिभागी के लिए प्रतियोगिता इस प्रकार से गुजरती है -
-
खेल शुरू होने के ठीक बाद टी मिलीसेकंड के बाद प्रतिभागी को दर्ज किया जाने वाला टेक्स्ट प्राप्त होता है।
-
इसके ठीक बाद वह इसे टाइप करना शुरू कर देता है।
-
उसके द्वारा सभी टेक्स्ट टाइप करने के ठीक टी मिलीसेकंड के बाद, साइट को इसके बारे में जानकारी प्राप्त होती है।
जो तेजी से पूरा करेगा, वह विजेता होगा। यदि दोनों प्रतिभागियों के लिए समय समान है, तो यह ड्रा है। हमें विजेता को ढूंढना है।
तो, अगर इनपुट एस =5 की तरह है; v1 =1; v2 =2; t1 =1; t2 =2, तो आउटपुट अमल होगा, क्योंकि अमल की सफलता की जानकारी 7 मिलीसेकंड में, बिमल की 14 मिलीसेकंड में आती है। तो, अमल जीत गया।
कदम
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
p := (s * v1) + (2 * t1) q := (s * v2) + (2 * t2) if p is same as q, then: return "Draw" otherwise when p < q, then: return "Amal" Otherwise return "Bimal"
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
#include <bits/stdc++.h> using namespace std; string solve(int s, int v1, int v2, int t1, int t2) { int p = (s * v1) + (2 * t1); int q = (s * v2) + (2 * t2); if (p == q) return "Draw"; else if (p < q) return "Amal"; else return "Bimal"; } int main() { int s = 5; int v1 = 1; int v2 = 2; int t1 = 1; int t2 = 2; cout << solve(s, v1, v2, t1, t2) << endl; }
इनपुट
5, 1, 2, 1, 2
आउटपुट
Amal