題目大意:
就是現在一堆石子有n顆, 每次只能拿走p~q顆, 當剩餘少於p顆的時候必須一次拿完
拿走最後一顆的人敗
問誰會獲得勝利
大致思路:
首先不難發現當n <= p的時候是必敗點(p點),那麼對於p + 1 <= n <= p + q, 這些都都可以轉移到必敗點(p點), 他們都是必勝點(n點), 而對於\(p + q + 1 <= n <= 2*p + q\) , 治呢走到必勝點(n點), 那麼這些都是必敗點(p點), 然後$ 2p + q + 1 <= n <= 2p + 2*q$都是必勝點(n點)
以此類推所有\(k*(p + q) + 1 <= n <= k*(p + q) + p\)的都是必勝點(p點, 先手敗), 所有\(k*(p + q) + p + 1 <= n <= (k + 1)*(p + q)\)的都是必敗點(n點, 先手勝)
ac**:
#includeusing namespace std;
int n, p, q;
string answer[2] = ;
int main()
}
HDU 2897 邂逅明下
題意 一堆石子n個,a,b兩人輪流從中取,每次取的石子必須在 區間 p,q 內,若剩下的石子少於p個,取石者須全部取完。最後取石子的者輸。給出n,p,q,問先取者是否有必勝策略?思路 巴什博弈變形 證明 假設先手為a,後手為b,初始n個,除最後一次每次取的石子個數必須 在 區間 p,q 內,則 1....
HDU 2897 邂逅明下
題意是給n個錢幣,每個人最少取p顆,最多q顆,少於p顆時必須全部全完,取最後一下的人輸,判斷先手是贏還是輸。完全就是那個取1 m的模型的類推,把1換成p,m換成q,於是用類似的做法解決。include include include include include include include i...
HDU2897 邂逅明下
problem description 當日遇到月,於是有了明。當我遇到了你,便成了侶。那天,日月相會,我見到了你。而且,大地失去了光輝,你我是否成侶?這注定是個淒美的故事。以上是廢話 小t和所有世俗的人們一樣,期待那百年難遇的日食。駐足街頭看天,看日月漸漸走近,小t的脖子那個酸呀 他堅持這個姿勢已...