public bool DivisorGame(int N)
{
int sum = 0;
while (true)
{
int r = DivisorGame_Impl(N);
if (r == 0) break;
sum++;
N = N - r;
}
return sum % 2 != 0;
}
int DivisorGame_Impl(int n)
{
if (n < 1) return 0;
if (n % 2 == 0)
{
if (n / 2 % 2 == 1) return n / 2;
return 1;
}
if (n == 1) return 0;
return 1;
}
5024. 除数博弈 --LeetCode -- C#
最新推荐文章于 2019-04-15 09:44:59 发布