基礎的bash博弈,兩人捐錢,每次不超過m,誰先捐到n誰勝。
對於乙個初始值n,如果其不為(m+1)的倍數,那麼先手把餘數拿掉,後繼遊戲中不管如何,後手操作後必定會有數餘下,那麼先手必勝,反之後手必勝。
/** @date : 2017-10-13 22:01:49* @filename: hdu 2188 基礎bash.cpp
* @platform: windows
* @author : lweleth ([email protected])
* @link :
* @version : $id$
*/#include #define ll long long
#define pii pair
#define mp(x, y) make_pair((x),(y))
#define fi first
#define se second
#define pb(x) push_back((x))
#define mmg(x) memset((x), -1,sizeof(x))
#define mmf(x) memset((x),0,sizeof(x))
#define mmi(x) memset((x), inf, sizeof(x))
using namespace std;
const int inf = 0x3f3f3f3f;
const int n = 1e5+20;
const double eps = 1e-8;
int main()
return 0;
}
HDU 2188 巴什博弈
題解 剛開始沒思路,後來知道是巴士博弈,茅塞頓開。參考部落格 這道題是先到n誰就贏,林隊先投,問林隊能贏不,所以應該站在先手的角度看怎麼去贏。比如n m 1,不管先手怎麼投,後手肯定贏,所以先手要想贏,必須給後手造成他去投時n m 1,所以當n m 1 r s,先手取s,如果後手取k,先手再取m 1...
hdu 2188 巴什博弈
problem description 對於四川同胞遭受的災難,全國人民紛紛伸出援助之手,幾乎每個省市都派出了大量的救援人員,這其中包括搶險救災的武警部隊,和防疫的醫護人員,以及進行心理疏導的心理學專家。根據要求,我校也有乙個奔赴災區救災的名額,由於廣大師生報名踴躍,學校不得不進行選拔來決定最後的人...
hdu 2188 巴什博弈入門
如果n m 1,那麼由於一次最多只能取m個,所以,無論先取者拿走多少個,後取者都能夠一次拿走剩餘 的物品,後者取勝。因此我們發現了如何取勝的法則 如果n m 1 r s,r為任意自然數,s m 那麼先 取者要拿走s個物品,如果後取者拿走k m 個,那麼 先取者再拿走m 1 k個,結果剩下 m 1 r...