2029 石子遊戲 IX 2022 01

2022-09-19 07:12:15 字數 1424 閱讀 5053

alice 和 bob 再次設計了一款新的石子遊戲。現有一行 n 個石子,每個石子都有乙個關聯的數字表示它的價值。給你乙個整數陣列stones,其中stones[i]是第i個石子的價值。

alice 和 bob 輪流進行自己的回合,alice先手。每一回合,玩家需要從stones中移除任一石子。

假設兩位玩家均採用最佳決策。如果 alice 獲勝,返回true;如果 bob 獲勝,返回false

示例 1:

輸入:stones = [2,1]

輸出:true

解釋:遊戲進行如下:

- 回合 1:alice 可以移除任意乙個石子。

- 回合 2:bob 移除剩下的石子。

已移除的石子的值總和為 1 + 2 = 3 且可以被 3 整除。因此,bob 輸,alice 獲勝。

示例 2:

輸入:stones = [2]

輸出:false

解釋:alice 會移除唯一乙個石子,已移除石子的值總和為 2 。

由於所有石子都已移除,且值總和無法被 3 整除,bob 獲勝。

示例 3:

輸入:stones = [5,1,2,4,3]

輸出:false

解釋:bob 總會獲勝。其中一種可能的遊戲進行方式如下:

- 回合 1:alice 可以移除值為 1 的第 2 個石子。已移除石子值總和為 1 。

- 回合 2:bob 可以移除值為 3 的第 5 個石子。已移除石子值總和為 = 1 + 3 = 4 。

- 回合 3:alices 可以移除值為 4 的第 4 個石子。已移除石子值總和為 = 1 + 3 + 4 = 8 。

- 回合 4:bob 可以移除值為 2 的第 3 個石子。已移除石子值總和為 = 1 + 3 + 4 + 2 = 10.

- 回合 5:alice 可以移除值為 5 的第 1 個石子。已移除石子值總和為 = 1 + 3 + 4 + 2 + 5 = 15.

alice 輸掉遊戲,因為已移除石子值總和(15)可以被 3 整除,bob 獲勝。

language: ****

​func stonegameix(stones int) bool  else if val == 1  else 

}if cnt0 % 2== 0

return cnt1 - cnt2 > 2 || cnt2 - cnt1 > 2

}

877 石子遊戲

題目描述 亞歷克斯和李用幾堆石子在做遊戲。偶數堆石子排成一行,每堆都有正整數顆石子 piles i 遊戲以誰手中的石子最多來決出勝負。石子的總數是奇數,所以沒有平局。亞歷克斯和李輪流進行,亞歷克斯先開始。每回合,玩家從行的開始或結束處取走整堆石頭。這種情況一直持續到沒有更多的石子堆為止,此時手中石子...

LeetCode877 石子遊戲

亞歷克斯和李用幾堆石子在做遊戲。偶數堆石子排成一行,每堆都有正整數顆石子 piles i 遊戲以誰手中的石子最多來決出勝負。石子的總數是奇數,所以沒有平局。亞歷克斯和李輪流進行,亞歷克斯先開始。每回合,玩家從行的開始或結束處取走整堆石頭。這種情況一直持續到沒有更多的石子堆為止,此時手中石子最多的玩家...

LeetCode 877 石子遊戲

usr bin python3 coding utf 8 time 2019 3 16 author xfli the file.這是乙個數學問題,要注意的有兩點,第一,有偶數堆,第二,總數為奇數,不存在平局。所以這樣想,如果有2堆,亞歷克斯選乙個多的,肯定贏了,如果有4堆,平分兩堆,亞歷克斯每兩堆...