Сложность: easy
Вы играете в игру, где по очереди с другом берёте от 1 до 3 камней из кучи. Побеждает тот, кто берёт последний камень. Определите, можете ли вы выиграть, если ходите первым и оба играете оптимально.
Пример:
Input: n = 4
Output: false
👨💻 Алгоритм
1⃣Если n % 4 == 0, вы не можете выиграть. Независимо от вашего хода, друг сможет вернуть ситуацию к кратному 4 и в итоге победить.
2⃣Если n % 4 != 0, вы можете начать с такого хода, чтобы оставить другу 4, и после этого повторять стратегию.
3⃣Решение тривиальное: просто верните n % 4 != 0.
😎 Решение
class Solution {
public:
bool canWinNim(int n) {
return n % 4 != 0;
}
};Ставь 👍 и забирай 📚 Базу знаний