Leetcode 292

这种题目,第一眼就知道它是和对手互补。

每个人都能拿1-3个子,那么我们每次拿取都和对方互补,使得一个回合内被移除的子的数量是 min + max = 4,

那么整个问题就直接变成了 n = 1, 2, 3, 4 时能否胜利的问题。

 

显然,由于我们先手,所以 n = 1, 2, 3 的时候,我们必赢,否则我们必输。

 

那能不能赢的判断就变成了 n % 4 != 0.

 

再优化一下,n % 4 == 0 其实就意味着 n & 3 == 0,我们只需要一次位操作就能完成任务。

 

虽然没啥意义,这种题目不会真就卡你位操作时间吧。

Leetcode 292

上一篇:Sciseed Programming Contest 2021(AtCoder Beginner Contest 219)个人题解


下一篇:elementary OS 6 评测!