CF603C Lieges of Legendre

题目描述

Kevin 和 Nicky Sun 发明了一款新游戏,名为 Lieges of Legendre。在这款游戏中,两名玩家轮流对游戏状态进行操作,Kevin 先手。最初,游戏由 $n$ 堆奶牛组成,第 $i$ 堆有 $a_{i}$ 只奶牛。每位玩家在自己的回合可以通过唤起 Sunlight 的力量,进行以下两种操作之一: 1. 从任意非空的一堆中移除一只奶牛。 2. 选择一堆奶牛数为偶数且大于 $0$ 的堆(即 $2·x$,$x>0$),并将其替换为 $k$ 堆,每堆有 $x$ 只奶牛。 移除最后一只奶牛的玩家获胜。给定 $n$、$k$ 以及序列 $a_{1},a_{2},\ldots,a_{n}$,请帮助 Kevin 和 Nicky 判断,在双方都采取最优策略的情况下,谁将获胜。

输入格式

输入的第一行包含两个用空格分隔的整数 $n$ 和 $k$($1 \leq n \leq 100000, 1 \leq k \leq 10^{9}$)。 第二行包含 $n$ 个整数 $a_{1},a_{2},\ldots,a_{n}$($1 \leq a_{i} \leq 10^{9}$),表示游戏的初始状态。

输出格式

输出获胜者的名字,“Kevin” 或 “Nicky”(不带引号)。

说明/提示

在第二个样例中,Nicky 可以这样获胜:Kevin 先手,只能移走一只奶牛,剩下两只。接下来,Nicky 将这堆两只奶牛替换为两堆各有一只奶牛。因此,现在有两堆各有一只奶牛。Kevin 再移走其中一只后,Nicky 移走最后一只获胜。 由 ChatGPT 5 翻译