LeetCode1025 除數博弈

2021-09-18 04:44:52 字數 694 閱讀 6695

題目描述

愛麗絲和鮑勃一起玩遊戲,他們輪流行動。愛麗絲先手開局。

最初,黑板上有乙個數字 n 。在每個玩家的回合,玩家需要執行以下操作:

選出任一 x,滿足 0

< x < n 且 n % x ==

0 。用 n - x 替換黑板上的數字 n 。

如果玩家無法執行這些操作,就會輸掉遊戲。

只有在愛麗絲在遊戲中取得勝利時才返回 true,否則返回 false。假設兩個玩家都以最佳狀態參與遊戲。

示例一

輸入:2

輸出:true

解釋:愛麗絲選擇 1,鮑勃無法進行操作。

示例二 輸入:3

輸出:false

解釋:愛麗絲選擇 1,鮑勃也選擇 1,然後愛麗絲無法進行操作。

首先需要明確的是,對於乙個確定的數n,只可能贏或者輸,不可能存在不確定的情況,也就是只要對於n能存在贏的情況就是贏,那麼該問題演變為,如果alice拿到n是輸的話,那麼她拿到n+1一定為贏,因為拿到n+1時,她可以只取1,那麼bob就會拿到n,bob就會輸,所以這時候奇數偶數,乙個為贏另乙個為輸的問題,我們只需要確定奇數贏還是偶數贏就可以了,依據示例可以看出偶數是贏的,所以**為:

return n %2==

0;

LeetCode 1025 除數博弈

題目描述 愛麗絲和鮑勃一起玩遊戲,他們輪流行動。愛麗絲先手開局。最初,黑板上有乙個數字 n 在每個玩家的回合,玩家需要執行以下操作 選出任一 x,滿足 0 x n 且 n x 0 用 n x 替換黑板上的數字 n 如果玩家無法執行這些操作,就會輸掉遊戲。只有在愛麗絲在遊戲中取得勝利時才返回 true...

Leetcode 1025 除數博弈

愛麗絲和鮑勃一起玩遊戲,他們輪流行動。愛麗絲先手開局。最初,黑板上有乙個數字 n 在每個玩家的回合,玩家需要執行以下操作 選出任一 x,滿足 0 x n 且 n x 0 用 n x 替換黑板上的數字 n 如果玩家無法執行這些操作,就會輸掉遊戲。只有在愛麗絲在遊戲中取得勝利時才返回 true,否則返回...

Leetcode1025 除數博弈

time 20190903 type easy 愛麗絲和鮑勃一起玩遊戲,他們輪流行動。愛麗絲先手開局。最初,黑板上有乙個數字 n 在每個玩家的回合,玩家需要執行以下操作 選出任一 x,滿足 0 x n 且 n x 0 用 n x 替換黑板上的數字 n 如果玩家無法執行這些操作,就會輸掉遊戲。只有在愛...