列表

详情


NC230. Nim游戏

描述

这是一个经典的博弈。
你和你的朋友,两个人玩一个游戏。
1.桌子上有 n 个石头
2.你和你的朋友轮流取石头,你先手。
3.每一回合可以取 1~3 个石头。
4.轮到你的朋友时桌上没有石头则你获胜,否则你的朋友获胜。

你和你的朋友都尽力让自己获胜,如果你有方法必胜,则返回 true ,如果你的朋友有方法必胜,则返回 false

数据范围:

示例1

输入:

4

输出:

false

说明:

第一轮不管你取几个石头,第二轮你的朋友都一定能全部取走,则必输。

示例2

输入:

2

输出:

true

说明:

第一轮你可以直接取走全部石头。

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C 解法, 执行用时: 2ms, 内存消耗: 460KB, 提交时间: 2022-01-25

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param n int整型 
 * @return bool布尔型
 *
 * C语言声明定义全局变量请加上static,防止重复定义
 */
bool NimGame(int n ) {
    if(n%4==0){
        return false;
    }
    return true;
}

C++ 解法, 执行用时: 3ms, 内存消耗: 392KB, 提交时间: 2022-07-28

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param n int整型 
     * @return bool布尔型
     */
     bool NimGame(int n) {
        return n%4; }};

C++ 解法, 执行用时: 3ms, 内存消耗: 396KB, 提交时间: 2022-07-07

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * @param n int整型 
     * @return bool布尔型
     **/
    
    bool NimGame(int n) {
        return n%4;
    }
};

C++ 解法, 执行用时: 3ms, 内存消耗: 396KB, 提交时间: 2022-05-26

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param n int整型 
     * @return bool布尔型
     */
    bool NimGame(int n) {
        // write code here
        if (n % 4 == 0) return false;
        else return true;
    }
};

C++ 解法, 执行用时: 3ms, 内存消耗: 396KB, 提交时间: 2022-05-25

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param n int整型 
     * @return bool布尔型
     */
    bool NimGame(int n) {
        return n & 3; 
    }
};

上一题