C++程式:求解取球遊戲的獲勝者
假設我們有四個數字n1、n2、k1和k2。考慮有兩個盒子,第一個盒子有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
輸出
Biaml
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP