P9862 [CCC 2008 J5/S5] Nukit

题目背景

注:J5 与 S5 仅数据范围有所不同,在此选取 S5 的数据范围及数据进行评测。

题目描述

加拿大的两位顶尖核科学家,Patrick 和 Roland,刚刚完成了世界上第一个核裂变反应堆的建造。现在,他们的工作是每天坐在反应堆前操作它。自然地,在这样做了一段时间后,他们有些无聊,因此发生了两件事。首先,他们现在可以控制反应堆内发生的个别反应。其次,为了打发时间,他们发明了一种叫做 Nukit 的新游戏。 在 Nukit 的开始阶段,反应堆中放入了一些粒子。玩家轮流进行操作,Patrick 总是先走。当轮到一个玩家操作时,他们必须选择一些剩余的粒子来形成一个可能的反应。然后这些粒子被销毁。最终,粒子会变得如此之少,以至于无法形成任何反应;此时,第一个无法在其回合中形成反应的人输掉比赛。 在我们的宇宙中,你可以假设只有 $4$ 种类型的粒子:`A`,`B`,`C`,`D`。每个反应都是可以在单个回合中销毁的粒子列表。五种反应是: 1. `AABDD` 2. `ABCD` 3. `CCD` 4. `BBB` 5. `AD` 例如,第一个反应 `AABDD` 表示可以在一个回合中同时销毁两个 `A`,一个 `B` 和两个 `D` 粒子。 事实证明,无论反应堆中最初有多少粒子,Patrick 或 Roland 中总有一个人有完美的获胜策略。我们所说的玩家 $X$ 有完美的获胜策略,意味着无论另一个玩家做什么,玩家 $X$ 都可以通过仔细选择反应来获胜。 例如,如果反应堆最初有一个 `A`,五个 `B` 和三个 `D` 粒子,那么 Roland 有以下完美的获胜策略:“如果 Patrick 最初形成反应 `BBB`,那么随后形成反应 `AD`;如果 Patrick 最初形成反应 `AD`,那么随后形成反应 `BBB`。”(策略有效,因为无论哪种方式,在 Patrick 的第二个回合中,剩余的粒子不足以形成任何反应。) 给定反应堆中每种类型的粒子的初始数量,你能找出谁有完美的获胜策略吗?

输入格式

输入的第一行包含 $n$,表示测试用例的数量 $(1 \leq n < 100)$。每个测试用例由一行上的 $4$ 个整数组成,用空格分隔;它们表示 `A`,`B`,`C` 和 `D` 粒子的初始数量。你可以假设每种类型的粒子最初在 $0$ 到 $30$(含)之间。

输出格式

对于每个测试用例,输出有完美获胜策略的玩家,`Roland` 或 `Patrick`。

说明/提示

样例输出的部分解释: 第一个输出发生是因为 Patrick 立即输掉,因为他无法形成任何反应。(Roland 的完美获胜策略是“什么都不做。”) 第二个输出发生是因为 Patrick 有完美的获胜策略“形成反应 ABCD”,这使得 Roland 在他的第一个回合中输掉。 第三个输出在问题陈述中已解释。 题面翻译由 ChatGPT-4o 提供。