LeetCode

it2023-08-08  78

题目链接

https://leetcode-cn.com/problems/divisor-game/

解题思路

N为奇数的时候Alice必败,N为偶数的时候Alice必胜下面是leetcode官方证明显然N = 1和N = 2时结论成立N > 2时,假设N <= k时该结论成立,则N = k + 1时: 如果k为偶数,则k + 1为奇数,x是k + 1的因数,只可能是奇数,而奇数 - 奇数 = 偶数,且k + 1 - x <= k,故轮到Bob的时候都是偶数。而根据我们的猜想假设N <= k的时候偶数的时候先手必胜,故此时无论Alice拿走什么,Bob都会处于必胜态,所以Alice处于必败态如果k为奇数,则k + 1为偶数,x可以是奇数也可以是偶数,若Alice减去一个奇数,那么k + 1 - x是一个小于等于k的奇数,此时Bob占有它,处于必败态,则Alice处于必胜态

AC代码

class Solution { public boolean divisorGame(int N) { return N % 2 == 0; } }
最新回复(0)