Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Nim Game trong C++


Game Nim: n viên đá, mỗi lượt lấy 1-3 viên. Người lấy viên cuối thắng. Người 1 đi trước. Cả hai chơi tối ưu. Xác định người 1 có thắng không.

Quy luật: Người 1 thắng trừ khi n chia hết cho 4.

Ví dụ: n=5 → true (người 1 lấy 1, còn 4, người 2 bất lợi).

Ví dụ triển khai C++

#include <bits/stdc++.h>
using namespace std;

class Solution {
public:
    bool canWinNim(int n) {
        return n % 4 != 0;
    }
};

int main() {
    Solution ob;
    cout << boolalpha << ob.canWinNim(5); // true
    return 0;
}

Đầu vào / Đầu ra

Input: 5
Output: true (1)