BZOJ 2463 誰能贏呢?

2021-08-21 09:11:02 字數 847 閱讀 5424

題目描述:

小明和小紅經常玩乙個博弈遊戲。給定乙個 n × n 的棋盤,乙個石頭被放在棋盤的

左上角。他們輪流移動石頭。每一回合,選手只能把石頭向上,下,左,右四個方向

移動一格,並且要求移動到的格仔之前不能被訪問過。誰不能移動石頭了就算輸。假

如小明先移動石頭,而且兩個選手都以最優策略走步,問最後誰能贏?

input

輸入檔案有多組資料。

輸入第一行包含乙個整數n,表示棋盤的規模。

當輸入n為0時,表示輸入結束。

output

對於每組資料,如果小明最後能贏,則輸出」alice」, 否則輸出」bob」, 每一組答案獨佔一行。

sample input20

sample output

alice

hint

對於所有的資料,保證 1<=n<=10000 。

分析看了乙個很好的思路,將問題拆分,把棋盤分解成若干個1 * 2  的小棋盤,

並排成一列,每次移動都是從小棋盤的一端到另一端,也就是說先手移動完

後, 後手要尋找乙個1 *2的小棋盤,若沒有,則後手輸。也就

是說,當格仔數為偶數時,先手為必勝態,若為奇數則後手為必勝態。

這樣的話,問題就變成判斷奇偶數了。

#includeusing namespace std;

int main ()

else cout << "bob" << endl;

}return 0;

}

bzoj2463 誰能贏呢?

www.lydsy.com judgeonline problem.php?id 2463 題目鏈結 題意 乙個n n的棋盤,開始時左上角有乙個棋子,每次可以把棋子向4個方向移動,但不能移動到曾經走過的格仔上,無法移動者輸,問是否存在先手必勝策略。solution 手玩了一下n 4的情況,發現當n是...

bzoj 2463 誰能贏呢?

description 小明和小紅經常玩乙個博弈遊戲。給定乙個n n的棋盤,乙個石頭被放在棋盤的左上角。他們輪流移動石頭。每一回合,選手只能把石頭向上,下,左,右四個方向移動一格,並且要求移動到的格仔之前不能被訪問過。誰不能移動石頭了就算輸。假如小明先移動石頭,而且兩個選手都以最優策略走步,問最後誰...

bzoj2463 誰能贏呢?

www.lydsy.com judgeonline problem.php?id 2463 題目鏈結 乙個n n的棋盤,開始時左上角有乙個棋子,每次可以把棋子向4個方向移動,但不能移動到曾經走過的格仔上,無法移動者輸,問是否存在先手必勝策略。手玩了一下n 4的情況,發現當n是偶數時就有必勝策略,交上...