首页 > 其他 > 详细

Leetcode1025 Divisor Game

时间:2020-07-24 14:26:52      阅读:49      评论:0      收藏:0      [点我收藏+]

Description

Problem

易错点

assuming both players play optimally.
Means 你需要保存一个关于N的最佳数组,每轮归谁都会是最佳的
Then Prove N 为奇数的时候 Alice(先手)必败,N 为偶数的时候 Alice 必胜。
1.\(N=1 和 N = 2\) 时结论成立。

2.\(N>2\) 时,假设 \(N<=k\)时该结论成立,则 \(N = k + 1\)时:

如果 k 为偶数,则 k + 1 为奇数,x是 k + 1的因数,只可能是奇数,而奇数减去奇数等于偶数故轮到 Bob 的时候都是偶数,故此时无论 Alice 拿走什么,Bob 都会处于必胜态,所以 Alice 处于必败态。
如果 k 为奇数,则 k + 1 为偶数,x可以是奇数也可以是偶数,若 Alice 减去一个奇数,那么k+1?x 是一个小于等于 k 的奇数,此时 Bob 占有它,处于必败态,则 Alice 处于必胜态。
综上所述,这个猜想是正确的。

Code

class Solution {
public:
    bool divisorGame(int N) {
        return N%2==0;
    }
};

Leetcode1025 Divisor Game

原文:https://www.cnblogs.com/chanceYu/p/13371343.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!