Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรม C++ หาผู้ชนะเกมกำจัดลูก


สมมติว่าเรามีตัวเลขสี่ตัว 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