मान लीजिए हमारे पास दो संख्याएं a और b हैं। अमल और बिमल एक खेल खेल रहे हैं। पहले उनमें से प्रत्येक 1 से 6 तक एक पूर्णांक लिखता है, फिर एक पासा फेंका जाता है। जिस खिलाड़ी की लिखी संख्या कागज पर लिखी संख्या के करीब होती है, वह उस राउंड को जीतता है, यदि उन दोनों का अंतर समान है, तो वह ड्रॉ है। यदि अमल संख्या a लिखता है, और बिमल b लिखता है, तो हमें अमल के जीतने के संभावित तरीकों की संख्या, संभावित ड्रॉ की संख्या और बिमल के जीतने के तरीकों की संख्या गिननी है।
उदाहरण के लिए, यदि इनपुट 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