मान लीजिए कि हमारे पास दो संख्याएँ a और b हैं। अमल और बिमल एक खेल खेल रहे हैं। पहले उनमें से प्रत्येक 1 से 6 तक एक पूर्णांक लिखता है, फिर एक पासा फेंका जाता है। जिस खिलाड़ी की लिखित संख्या कागज पर लिखी संख्या के करीब पहुंच जाती है, वह उस दौर को जीत लेता है, यदि उन दोनों में समान अंतर है, तो वह ड्रॉ है। अगर अमल संख्या ए लिखता है, और बिमल बी लिखता है, तो हमें अमल के जीतने के संभावित तरीकों की संख्या, संभावित ड्रॉ की संख्या और बिमल के जीतने के तरीकों की संख्या गिननी होगी।
इसलिए, यदि इनपुट a =2 जैसा है; b =4, तो आउटपुट [2, 1, 3] होगा, इसलिए अमल 2 संभावित तरीकों से जीत सकता है। यदि पासा 3 दिखाता है, तो एक ड्रॉ होता है।
कदम
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
s1 := 0 s2 := 0 s3 := 0 if (a + b) mod 2 is same as 0, then: s2 := 1 if a is same as b, then: s2 := 6 otherwise when a > b, then: s1 := 6 - ((a + b) / 2) Otherwise s1 := (a + b - s2 - 1) / 2 s3 := 6 - s1 - s2 print s1, s2 and s3
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
#include <bits/stdc++.h> using namespace std; void solve(int a, int b) { int s1 = 0, s2 = 0, s3 = 0; if ((a + b) % 2 == 0) s2 = 1; if (a == b) s2 = 6; else if (a > b) s1 = 6 - ((a + b) / 2); else s1 = (a + b - s2 - 1) / 2; s3 = 6 - s1 - s2; cout << s1 << ", " << s2 << ", " << s3 << endl; } int main() { int a = 2; int b = 4; solve(a, b); }
इनपुट
2, 4
आउटपुट
2, 1, 3