題目描述:
小明和小紅經常玩乙個博弈遊戲。給定乙個 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是偶數時就有必勝策略,交上...