loj#P2202. 「ZJOI2014」取石子游戏
「ZJOI2014」取石子游戏
题目描述
Roland. P Sprague 和 Patrick M. Grundy 都是组合游戏的狂热爱好者,但他们素未谋面。
一天,Sprague 在写给 Grundy 的信中向他介绍了一个据称是来自东方的古老游戏一一取石子。
取石子是一个双人博弈游戏。在游戏的一开始,桌面上有几堆石子堆。接下来,游戏双方轮流进行操作:从桌面上选取一堆石子堆,然后从这一堆里面取走任意多个石子(但不能不取)。当某个人无法操作时则失败,另一方获得胜利。由于条件所限,Sprague 建议在纸上写一排自然数来代表各个石子堆的石子数目,然后两人轮流划数与数;Grundy 欣然应允。
一个月过去了,在 Grundy 连续输了五盘游戏之后,他怀疑 Sprague 要诈。经过几天的研究,Grundy 在某天下午发现假设游戏双方都足够聪明,那么给定一个初始状态(一排自然数),可以有很简单的方法来判定先手必胜还是后手必胜,并且可以给出必胜策略!于是 Grundy 决定要进行反击。
翌日,Grundy 在写给 Sprague 的信中建议把游戏的规则改得更复杂一点:首先确定一个常数 。然后,游戏双方的操作改为:每次选择一个数划掉。假设该数为 ,操作者可以任选一个正整数 ,在划掉之后需要再写上 共 个数,且 需满足 。若这样的 不存在,那么操作者就不能划掉这个 。某一方失败的条件依然是他无法操作。
碍于面子,Sprague 当然无法拒绝。不过他也不会坐以待毙,现在他已经得到了这个 和写在纸上的 个数。他把这些数据和这个游戏的规则都告诉了你一一John von Neumann——正在研究如何使用一个尚不存在的机械(你将其命名为计算机)来解决实际问题的数学、物理、经济学(、计算机科学)家。
输入格式
第一行是一个正整数,表示数据组数 (Sprague 向你询问的次数)。
接下来依次输入 组数据,每组数据占 行,格式如下:
第一行是一个空行。
第二行,两个正整数,按顺序表示 和 。
接下来 行,每行一个正整数,表示写在纸上的 个数。
输出格式
输出文件共有 行。
对每组数据,如果先手必胜(先进行操作的玩家拥有必胜策略),则输出 “Preempt.
”。若后手必胜,则输出 “Leapfrog.
”。若两者皆非,则输出"Je suis un imbecile.
”(均含句点 .
,不含引号)。
2 1 1 1
2 30 197943 249832
Preempt.
Leapfrog.
数据范围与提示
对 的数据: ,所有数均小于等于 。
另有 的数据: ,所有数均小于等于 。
另有 的数据: ,所有数均小于等于 。
另有 的数据: ,所有数均小于等于 。
另有 的数据: ,所有数均小等于 。
另有 的数据: ,所有数均小等于 。
对 的数据: 。