Hakase and Nano(博弈)
題意:有n堆石頭,每堆石頭有a[i]個(gè)。H和N兩個(gè)人輪流拿,每人最少拿1個(gè)。1代表H先拿,2代表N先拿。問(wèn)H是否會(huì)贏。H每一回合會(huì)拿兩次,但是N只能拿一次。
對(duì)于H先拿的情況,如果他可以拿(代表這個(gè)堆目前不為空),他一定會(huì)盡力改變自己現(xiàn)在的處境。那么什么時(shí)候他就改變不了了呢?就是拿完這一堆就沒(méi)有了的時(shí)候。即這一堆的石頭數(shù)目為1的時(shí)候。如果n堆石子,每堆只有一個(gè)石頭,那么什么時(shí)候才是H先拿的必?cái)B(tài)呢?就是n%30的時(shí)候。這樣無(wú)論H怎么拿都不能贏。其余的時(shí)候就是H的必勝態(tài)。
對(duì)于N先拿的情況,極限情況也是石頭個(gè)數(shù)為1的時(shí)候。N先拿,對(duì)于H來(lái)說(shuō),之要是N拿完之后,不是H的必?cái)B(tài),H就可以贏了。那就討論N拿一次成為H必?cái)B(tài)的情況。
①n1,無(wú)論怎么拿,H都輸。
②設(shè)石頭數(shù)目為1的堆有sum個(gè),sumn并且n%31,這樣無(wú)論怎么拿,H都輸。
③設(shè)石頭數(shù)目為1的堆有sum個(gè),sumn-1&&n%31,N可以把不是1的那一堆拿完,而后就是H的必?cái)B(tài)。
④設(shè)石頭數(shù)目為1的堆有sum個(gè),sumn-1&&n%30,N把不是1的那一堆拿成1,而后就是H的必?cái)B(tài)。
代碼如下:
博弈就是要冷靜思考,思考兩小時(shí),寫(xiě)題五分鐘。
努力加油a啊,(o)/~
總結(jié)
以上是生活随笔為你收集整理的Hakase and Nano(博弈)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Super-palindrome(思维)
- 下一篇: Master of GCD(差分数组||