CF167C Wizards and Numbers

题目描述

在某个国家住着巫师们。他们喜欢和数字玩游戏。 黑板上写着两个数字 $a$ 和 $b$。数字的顺序并不重要。为了方便起见,我们假设 $a \leq b$。玩家可以轮流施放以下两种法术之一: - 用 $b-a^k$ 替换 $b$。玩家可以选择数字 $k$,要求 $k>0$ 且 $b-a^k \geq 0$。每次当前玩家施法时都可以独立选择 $k$。 - 用 $b \bmod a$ 替换 $b$。 如果 $a > b$,允许类似的操作。 如果其中至少有一个数字等于零,玩家就无法继续操作,因为对零取模有些不太文明,而用零去减也太无聊。无法进行操作的玩家输掉比赛。 为了在魔法投注中表现出色,你需要快速判断:如果两位巫师都采取最优策略,是先手必胜还是后手必胜。

输入格式

第一行包含一个整数 $t$,表示输入数据组数($1 \leq t \leq 10^4$)。接下来的 $t$ 行,每行包含两个整数 $a$ 和 $b$($0 \leq a,b \leq 10^{18}$)。数字之间用空格隔开。 请不要在 C++ 中使用 %lld 的格式读取或输出 64 位整数。建议使用 cin/cout 流或 %I64d 格式。

输出格式

对于每组输入,若先手获胜则输出 "First"(不带引号);否则输出 "Second"(不带引号)。每组答案输出一行,顺序与输入对应。

说明/提示

在第一个样例中,先手应选择 $(11,10)$。随后第二位玩家只能选择到 $(1,10)$,然后先手取 $10$ 对 $1$ 取模即可获胜。 在第二个样例中,先手有两种选择:$(1,10)$ 与 $(21,10)$。无论哪种,后手都可以获胜。 在第三个样例中,先手无可用操作。 在第四个样例中,先手一步通过 $30$ 对 $10$ 取模直接获胜。 由 ChatGPT 5 翻译