hdu 1846巴什博奕

2022-09-08 16:36:17 字數 1256 閱讀 4413

好幾天沒出題了,今天終於水了一題巴什博弈題。

總結:【一】巴什博弈

物件:一堆石子(可延伸

重要公式:n=(m+1)*r+s

s不為0的話,先手必贏

思維拓展(先手必贏):較為簡單,就是去掉一堆石子n中(比最高可取的數目m再多1的倍數)的數目的餘數s, 

讓對方每次只能最多拿掉m個石子,但是這個回合中先手就可以能把剩下的(這個回合的)拿去了。簡單吧~~嘻嘻

套公式就行了。

博弈第一題,mark一下。

view code

//

i'm lanjiangzhou//c

#include #include

#include

#include

#include

#include

//c++

#include #include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

//*************************output*************************

#ifdef win32

#define int64 "%i64d"

#define uint64 "%i64u"

#else

#define int64 "%lld"

#define uint64 "%llu"

#endif

//**************************constant***********************

#define inf 0x3f3f3f3f

//aply for the memory of the stack

//#pragma comment (linker, "/stack:1024000000,1024000000")

//end

intmain()

else printf("

second\n");

}return0;

}

HDU1846 巴什博奕,證明)

題意 兩個頂尖聰明的人在玩遊戲,有nn個石子,每人可以隨便拿1 m1 m個石子,不能拿的人為敗者,問誰會勝利 解析 我們從最簡單的情景開始分析 當石子有1 m1 m個時,毫無疑問,先手必勝 當石子有m 1m 1個時,先手無論拿幾個,後手都可以拿乾淨,先手必敗 當石子有m 2 2mm 2 2m時,先手...

HDU 1846 Brave Game(巴什博奕)

題目鏈結 有n個石子,兩人輪流進行取石子,每次可以取走 1 m 個石子,最先取光石子的一方為勝,輸出勝者?2 23 2 4 3first second 直接就是 巴什博奕。當n m 時,先手可以一次取完,則先手必勝。當n m 1 時,先手不管怎麼取都會使剩餘的石子nn 有1 nn m 則先手必敗。當...

hdu 2149 hdu 1846 巴什博弈)

首先介紹一下巴什博奕 bash game 只有一堆n 個物品,兩個人輪流從這堆物品中取物,規定每次至少取乙個,最多取m 個。最後取光者得勝。分析 顯然,如果n m 1 那麼由於一次最多只能取 m個,所以,無論先取者拿走多少個,後取者都能夠一次拿走剩餘的物品,後者取勝。因此我們發現了如何取勝的法則 如...