P4101 HEOI2014 人人盡說江南好

2022-08-26 07:48:07 字數 1111 閱讀 2135

小 z 是乙個不折不扣的 zrp(zealot round-game player,回合制遊戲狂熱玩家),最近他 想起了小時候在江南玩過的乙個遊戲。

在過去,人們是要邊玩遊戲邊填詞的,比如這首《菩薩蠻》就是當年韋莊在玩遊戲時填 的: 人 人 盡 說 江 南 好, 遊 人 只 合 江 南 老。

然而我們今天不太關心人們填的詞是什麼,我們只關心小 z 那時玩過的遊戲。遊戲的規 則是這樣的,給定 n 堆石子,每堆石子一開始只有 1 個。小 z 和他的小夥伴輪流操作, 小 z 先行操作。操作可以將任意兩堆石子合併成為一堆,當誰不再能操作的時候,誰就輸掉了。

不過,當一堆石子堆的太高時可能發生危險,因此小 z 和他的小夥伴規定,任何時刻任意一 堆石子的數量不能超過 m。即假如現在有兩堆石子分別有 a 個和 b 個,而且 a+b>m,那麼這 兩堆石子就不能合成一堆。

小 z 和他的小夥伴都是很聰明的,所以他們總是會選擇對自己最有利的策略。現在小 z 想要知道,在這種情況下,對於乙個給定的 n 和 m,到底是誰能夠獲得勝利呢?

本題包括多組資料 資料第一行為乙個數 t,為資料組數 以下 t 行,每行兩個正整數 n,m

輸出 t 行,每行為 0 或 1,如果為 0 意為小 z(即先手)會取得勝利,為 1 則為後手會 取得勝利。

輸入 #1

5

7 31 5

4 36 1

2 2

輸出 #1

111

10

對於 10%的資料, m>=n

對於 20%的資料, n,m<=10

對於 30%的資料, n,m<=50, 2*m>=n

對於 50%的資料, n,m<=100

對於 70%的資料, n,m<=1000000

對於 100%的資料, n,m<=1000000000, t<=100

**

#include#include#include#include#includeusing namespace std;

int t;

long long n,m;

int main ()

return 0;

}

HEOI2014 人人盡說江南好

題目大意 乙個博弈遊戲,地上 n 堆石子,每堆石子有 1 個,每次可以合併任意兩個石子堆 a,b 要求 a b leq m 問先手贏還是後手贏 可以知道,最終的石子堆是m,m,m,m,n mod m這樣的,並不一定是這樣,比如 1,1,1,1,1 可以是合併為 3,2 或 4,1 但總數都是 lce...

bzoj3609 HEOI2014 人人盡說江南好

題意 sol 博弈論 通過打表找規律,發現答案是 m迴圈的,且當m為偶數時取反 因為我太蒟蒻了qaq,給不出證明 我是這麼想的 首先對於一組n,m,假如兩個人都往一堆上放,滿了以後再放下一堆,設贏的人為甲,輸的人為乙 那麼甲一定會盡力維持這個局面,乙則會去破壞該局面,即乙會額外新開一堆 那麼甲會每次...

博弈論 P4101 人人盡說江南好

對博弈論還不是那麼明白的小夥伴請先閱讀這篇文章 luogu p4101 heoi2014 人人盡說江南好 遊戲的規則是這樣的,給定 n 堆石子,每堆石子一開始只有 1 個。小 z 和他的小夥伴輪流操作,小 z 先行操作。操作可以將任意兩堆石子合併成為一堆,當誰不再能操作的時候,誰就輸掉了。不過,當一...