日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

力扣(LeetCode)292. Nim游戏 巴什博奕

發(fā)布時(shí)間:2023/11/30 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 力扣(LeetCode)292. Nim游戏 巴什博奕 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

你和你的朋友,兩個(gè)人一起玩 Nim游戲:桌子上有一堆石頭,每次你們輪流拿掉 1 - 3 塊石頭。 拿掉最后一塊石頭的人就是獲勝者。你作為先手。

你們是聰明人,每一步都是最優(yōu)解。 編寫(xiě)一個(gè)函數(shù),來(lái)判斷你是否可以在給定石頭數(shù)量的情況下贏得游戲。

示例:

輸入: 4
輸出: false
解釋: 如果堆中有 4 塊石頭,那么你永遠(yuǎn)不會(huì)贏得比賽;
因?yàn)闊o(wú)論你拿走 1 塊、2 塊 還是 3 塊石頭,最后一塊石頭總是會(huì)被你的朋友拿走。

解析 這是巴什博奕 n=k*(m+1)+r n是要報(bào)的數(shù),m是最多能報(bào)的數(shù),1是最少能報(bào)的數(shù),r是決定先手贏和后手贏得關(guān)鍵。
例如 A和B報(bào)數(shù),每個(gè)人報(bào)數(shù)最小1,最大4,看誰(shuí)先報(bào)到30。
A報(bào)1,B就報(bào)5-1=4
A報(bào)2,Bj就報(bào)5-2=3
A報(bào)m, B就報(bào)5-m
如果是30的話,B如此報(bào)法穩(wěn)贏。
如果是31的話,A就穩(wěn)贏。

Java版

class Solution {public boolean canWinNim(int n) {if(n%4==0) {//后手贏return false;}//先手贏return true;} }

運(yùn)行結(jié)果

轉(zhuǎn)載于:https://www.cnblogs.com/lick468/p/10678250.html

總結(jié)

以上是生活随笔為你收集整理的力扣(LeetCode)292. Nim游戏 巴什博奕的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。