歷屆試題 高僧鬥法 階梯博弈

2021-07-27 16:10:33 字數 872 閱讀 9130

思路:遊戲結束狀態是所有和尚都無法移動,這是p態,把相鄰的兩個和尚看作乙個狀態,例如1 5 8 10,可以看作(1, 5)和(8, 10),兩個和尚中間的樓梯數作為sg值。假設當前是n態(sg異或值大於0),可以一步讓異或值變為0即p態,而且p態只能變成n態,即符合nimm博弈的性質,直接就能判斷是否能獲勝。

ps:不知道為何南陽理工的高僧鬥法過不了,哎,這個oj題的質量有些問題啊。

ac**

#include #include #include #include #include #include #include #include #include #include #include #include using namespace std;

#pragma comment(linker, "/stack:1024000000,1024000000")

#define eps 1e-10

#define inf 0x3f3f3f3f

#define pi pairtypedef long long ll;

const int maxn = 2e4 + 5;

int a[maxn];

int main()

for(a[n] = 0; ch >= '0' && ch <= '9';ch = getchar())

}if(n & 1) --n;

int res = 0;

for(int i = 0; i < n; i+=2)

if(!res) printf("-1\n");

else

else if(r >= x) }}

} return 0;

}

如有不當之處歡迎指出!

歷屆試題 高僧鬥法(博弈)

古時喪葬活動中經常請高僧做法事。儀式結束後,有時會有 高僧鬥法 的趣味節目,以舒緩壓抑的氣氛。節目大略步驟為 先用糧食 一般是稻公尺 在地上 畫 出若干級台階 表示n級浮屠 又有若干小和尚隨機地 站 在某個台階上。最高一級台階必須站人,其它任意。如圖1所示 兩位參加遊戲的法師分別指揮某個小和尚向上走...

歷屆試題 高僧鬥法

歷屆試題 高僧鬥法 時間限制 1.0s 記憶體限制 256.0mb 問題描述 古時喪葬活動中經常請高僧做法事。儀式結束後,有時會有 高僧鬥法 的趣味節目,以舒緩壓抑的氣氛。節目大略步驟為 先用糧食 一般是稻公尺 在地上 畫 出若干級台階 表示n級浮屠 又有若干小和尚隨機地 站 在某個台階上。最高一級...

藍橋杯 歷屆試題 高僧鬥法 (尼姆博弈)

時間限制 1.0s 記憶體限制 256.0mb 問題描述 古時喪葬活動中經常請高僧做法事。儀式結束後,有時會有 高僧鬥法 的趣味節目,以舒緩壓抑的氣氛。節目大略步驟為 先用糧食 一般是稻公尺 在地上 畫 出若干級台階 表示n級浮屠 又有若干小和尚隨機地 站 在某個台階上。最高一級台階必須站人,其它任...