AT_hbpc_4.1+1
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
在手部游戏中,有一种叫做数字增加游戏的玩法。
这是两个人进行的游戏,首先,双方各自伸出双手的食指并相互展示。
然后,轮流用自己的右手或左手去选择对方的任意一只手,并增加对方手上的数字。
本题要求你求出在双方都采取最优策略时,这个游戏的胜负情况。输入格式如下,所有给定的数均为整数。
$ n $ $ m $ $ r $
分别表示以下规则下的要素状态数 $ n $,最大分割次数 $ m $,加法规则 $ r $。
-
状态用 $ (x, y) $ 表示,$ x 、 y $ 称为“要素”。
-
初始状态时,先手和后手均为 $ (1, 1) $。
-
每回合可以采取的“行动”有“选择”或“分割”两种。
-
先手和后手轮流行动,谁先变成 $ (0, 0) $ 就输。
-
选择:选择自己一个不为 $ 0 $ 的要素 $ x $ 和对方一个不为 $ 0 $ 的要素 $ y $,将 $ x $ 加到对方的 $ y $ 上,变为 $ x+y $。此时,应用以下两种加法规则 $ r $ 之一。
-
加法规则 $ 0 $:若 $ x+y \geq n $,则变为 $ 0 $。
-
加法规则 $ 1 $:若 $ x+y \geq n $,则变为 $ x+y-n $。
-
分割:当一方的某个要素为 $ 0 $,且另一个要素 $ k \geq 2 $ 时,可以进行“分割”操作。选择自然数 $ a, b $,使得 $ a+b=k $,且 $ a \geq 1 , b \geq 1 $,将状态变为 $ (a, b) $。
-
分割最多可以进行 $ m $ 次。
-
$ 2 \leq n \leq 16 $
-
$ 0 \leq m \leq 2 $
-
$ 0 \leq r \leq 1 $
如果存在可以无限进行下去的行动流程,则输出 Infinite。此时,先手和后手可以合作使得游戏无限进行。
如果不存在,则当先手和后手按照以下标准选择行动时,求出游戏的结果以及游戏在第几回合结束。
- 如果存在能让自己获胜的行动,则选择该行动;若有多个获胜行动,则选择能使游戏最短结束的行动。
- 如果只有会导致自己失败的行动,则选择能使游戏最晚结束的行动。
2 0 0
First
3
4 0 1
Infinite
输入格式
输入包含一行,包含三个整数 $ n, m, r $,含义如上所述。
输出格式
如果存在无限行动流程,输出一行 Infinite。
否则,第一行输出先手或后手的胜者,若先手胜则输出 First,后手胜则输出 Second。
第二行输出游戏在第几回合结束。
说明/提示
无。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?