#P9862. [CCC 2008 J5/S5] Nukit
[CCC 2008 J5/S5] Nukit
Description
加拿大的两位顶尖核科学家,Patrick 和 Roland,刚刚完成了世界上第一个核裂变反应堆的建造。现在,他们的工作是每天坐在反应堆前操作它。自然地,在这样做了一段时间后,他们有些无聊,因此发生了两件事。首先,他们现在可以控制反应堆内发生的个别反应。其次,为了打发时间,他们发明了一种叫做 Nukit 的新游戏。
在 Nukit 的开始阶段,反应堆中放入了一些粒子。玩家轮流进行操作,Patrick 总是先走。当轮到一个玩家操作时,他们必须选择一些剩余的粒子来形成一个可能的反应。然后这些粒子被销毁。最终,粒子会变得如此之少,以至于无法形成任何反应;此时,第一个无法在其回合中形成反应的人输掉比赛。
在我们的宇宙中,你可以假设只有 种类型的粒子:A,B,C,D。每个反应都是可以在单个回合中销毁的粒子列表。五种反应是:
-
AABDD -
ABCD -
CCD -
BBB -
AD
例如,第一个反应 AABDD 表示可以在一个回合中同时销毁两个 A,一个 B 和两个 D 粒子。
事实证明,无论反应堆中最初有多少粒子,Patrick 或 Roland 中总有一个人有完美的获胜策略。我们所说的玩家 有完美的获胜策略,意味着无论另一个玩家做什么,玩家 都可以通过仔细选择反应来获胜。
例如,如果反应堆最初有一个 A,五个 B 和三个 D 粒子,那么 Roland 有以下完美的获胜策略:“如果 Patrick 最初形成反应 BBB,那么随后形成反应 AD;如果 Patrick 最初形成反应 AD,那么随后形成反应 BBB。”(策略有效,因为无论哪种方式,在 Patrick 的第二个回合中,剩余的粒子不足以形成任何反应。)
给定反应堆中每种类型的粒子的初始数量,你能找出谁有完美的获胜策略吗?
Input Format
输入的第一行包含 ,表示测试用例的数量 。每个测试用例由一行上的 个整数组成,用空格分隔;它们表示 A,B,C 和 D 粒子的初始数量。你可以假设每种类型的粒子最初在 到 (含)之间。
Output Format
对于每个测试用例,输出有完美获胜策略的玩家,Roland 或 Patrick。
6
0 2 0 2
1 3 1 3
1 5 0 3
3 3 3 3
8 8 6 7
8 8 8 8
Roland
Patrick
Roland
Roland
Roland
Patrick
Hint
样例输出的部分解释:
第一个输出发生是因为 Patrick 立即输掉,因为他无法形成任何反应。(Roland 的完美获胜策略是“什么都不做。”)
第二个输出发生是因为 Patrick 有完美的获胜策略“形成反应 ABCD”,这使得 Roland 在他的第一个回合中输掉。
第三个输出在问题陈述中已解释。
题面翻译由 ChatGPT-4o 提供。
京公网安备 11011102002149号