HDU 2897 Bash博弈變形

2021-07-15 17:00:03 字數 381 閱讀 3550

對於此題分三種情況:

1.n%(p+q)==0,先手先取q枚硬幣,設後手取k枚硬幣,那麼先手再取(p+q-k)枚硬幣,那麼最後剩下p枚硬幣給後手,那麼先手必勝。

2.n%(p+q)<=p,先手先取k枚硬幣,那麼後手取(p+q-k)枚硬幣,最後剩下n%(p+q)枚硬幣給先手,先手必敗。

3.n%(p+q)>p,先手先取x(  n%(p+q) - x <=p  )枚硬幣,對於後手每次取k枚硬幣,那麼先手取(p+q-k)枚硬幣,最後剩下n%(p+q) - x硬幣給後手,那麼先手必勝。

#include#includeusing namespace std;

int main()

return 0;

}

hdu 2897 巴什博弈變形)

轉引 巴什博弈的變形 假設先取者為 a,後取者為 b,初始狀態下有石子 n個,除最後一次外其他每次取得石子個數必須在 p,q 之間。若當前石子共有n p q r個,則 a必勝,必勝策略為 a第一次取 q個,以後每次若b取 k個,a取 p q k 個,如此下去最後必剩下p個給 b,所以 a必勝。若 n...

巴什博弈(hdu 2897)

巴什博弈的變形 假設先取者為a,後取者為b,初始狀態下有石子n個,除最後一次外其他每次取得石子個數必須在 p,q 之間。若當前石子共有n p q r個,則a必勝,必勝策略為 a第一次取q個,以後每次若b取k個,a取 p q k 個,如此下去最後必剩下p個給b,所以a必勝。若n p q r left個...

hdu 2897 巴什博奕變形

1 看清最後取的是輸還是贏 2 分類討論,想的時候,看怎麼能回到最初狀態 就是回到t p q s的狀態,以及怎麼回到已經推出的必敗態 include include include include include include include include using namespace std...