สมมติว่าเรามีตัวเลขสี่ตัว n1, n2, k1 และ k2 พิจารณาว่ามี 2 กล่อง กล่องแรกมี n1 ลูก และกล่องที่สองมี n2 ลูก Amal และ Bimal กำลังเล่นเกม ในการย้ายครั้งเดียวพวกเขาสามารถหยิบลูกบอลตั้งแต่ 1 ถึง k1 แล้วโยนออกไป ในทำนองเดียวกันอีกอันหนึ่งก็จะรับบอล 1 ถึง k2 ในการเคลื่อนไหวของเขา Amal เริ่มเกมและเล่นสลับกัน ผู้ที่ไม่สามารถเล่นการเคลื่อนไหวของเขาจะแพ้เกม เราต้องค้นหาว่าใครจะเป็นผู้ชนะ
ดังนั้น ถ้าอินพุตเป็นเหมือน n1 =2; n2 =2; k1 =1; k2 =2 ผลลัพธ์จะเป็น Bimal เพราะแต่ละกล่องมี 2 ลูก Amal รับลูกเดียวจากกล่องแรก จากนั้น Bimal สามารถรับ 1 หรือ 2 ลูกจากกล่องที่สอง ไม่ว่า Amal จะทำอะไรก็ตาม Bimal ก็สามารถชนะได้เสมอถ้าเขาเล่นได้อย่างเต็มประสิทธิภาพ
ขั้นตอน
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
if n1 > n2, then: return "Amal" Otherwise return "Biaml"
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
#include <bits/stdc++.h>
using namespace std;
string solve(int n1, int n2, int k1, int k2) {
if (n1 > n2)
return "Amal";
else
return "Biaml";
}
int main() {
int n1 = 2;
int n2 = 2;
int k1 = 1;
int k2 = 2;
cout << solve(n1, n2, k1, k2) << endl;
} อินพุต
2, 2, 1, 2
ผลลัพธ์
Bimal