2546 取石塊兒 博弈

2022-05-03 09:24:08 字數 924 閱讀 9575

★   輸入檔案:tstones.in輸出檔案:tstones.out簡單對比

時間限制:1 s   記憶體限制:256 mb

小l和小t進行取石塊兒遊戲,給定乙個整數n表示石塊兒總數,給定乙個整數k表示每次最多能拿走的石塊兒數量,小l先手,每次能拿走1~k個石塊兒,他們中總會有乙個人最後拿走s塊兒石塊兒,使得剩餘石塊兒數量為0,則最後乙個拿走剩下石塊兒的人獲勝,另外乙個人失敗。小t非常聰明,小l絕頂(禿子(逃))聰明,請判斷小t是否能取勝。

第一行乙個整數t表示資料組數,接下來t行每行兩個整數n,k意義為描述所給。

對於每組資料,輸出"yes"或者"no"(不帶引號),代表小t是否能夠獲勝。

2

2 110 4

yes

yes

大膽騙分出奇蹟!

對於10%的資料,1≤k≤n≤5

對於另外10%的資料,k=1,1≤n≤10000

對於另外20%的資料,1≤k≤n≤1000,t≤10

對於另外40%的資料,1≤k≤n≤unsignedint

對於全部的測試資料,1≤k≤n≤unsignedlonglong,1≤t≤1000000

/*

博弈.當n<=k時,顯然先手必勝.

否則n=k+1時先手必敗.

n屬於[k+2,2k+1]時,總能回到n=k+1的狀態,所以先手必勝.

同理 n=2(k+1),3(k+1)時先手必敗......

所以 k+1|n時先手必敗

否則先手必勝.

*/#include

#include

using

namespace

std;

intmain()

return0;

}

博弈取石子

有一堆石子,a,b兩人輪流從中取出石子,每次取出的石子數目只能為1,3,7或8,最後一枚石子誰取到就是輸方。a,b兩人都足夠聰明,不會做出錯誤的判斷。現給出一定數目的石子,a先取石子,計算a最終是輸是贏,贏用1表示,輸用0表示.輸入描述 第一行為乙個整數n 0 n 100 表示玩n局,接下來n行每行...

博弈 取石子遊戲

兩堆石子,數量任意,可以不同。遊戲開始由兩個人輪流取石子。遊戲規定,每次有兩種不同的取法,一是可以在任意的一堆中取走任意多的石子 二是可以在兩堆中同時取走相同數量的石子。最後把石子全部取完者為勝者。現在給出初始的兩堆石子的數目,如果輪到你先取,假設雙方都採取最好的策略,問最後你是勝者還是敗者。inp...

巴什博弈問題之取石子(博弈)

一天,tt在寢室閒著無聊,和同寢的人玩起了取石子遊戲,而由於條件有限,他 她們是用旺仔小饅頭當作石子。遊戲的規則是這樣的。設有一堆石子,數量為n 1 n 1000000 兩個人輪番取出其中的若干個,每次最多取m個 1 m 1000000 最先把石子取完者勝利。我們知道,tt和他 她的室友都十分的聰明...