#P15142. [SWERC 2025] Hyper Smawk Bros

[SWERC 2025] Hyper Smawk Bros

说明

你和 Bob 正在玩 Hyper Smawk Bros 游戏,共同面对一个血量为 nn 的 Boss。你和 Bob 轮流行动,由你先手。在你的回合中,你可以使用一个攻击,造成 [1,m][1, m] 范围内的整数伤害 xx,并将 nn 替换为 nxn - x。但是,你不能使用对手在上一个回合中刚刚使用的那个 xx(在游戏的第一回合,允许使用 [1,m][1, m] 中的任意 xx)。

首先将 Boss 的血量降低到 n0n \le 0 的玩家获胜。请判断在 Bob 采取最优策略的情况下,你是否可以确保获胜。

输入格式

每个测试包含多个测试用例。第一行包含测试用例的数量 tt1t1041 \le t \le 10^4)。接下来是测试用例的描述。

每个测试用例仅有一行,包含两个整数 n,mn, m1n1061 \le n \le 10^62m1062 \le m \le 10^6)—— 初始血量 nn 和每次攻击的最大伤害 mm

注意,所有测试用例的 nn 之和没有约束,所有测试用例的 mm 之和也没有约束。

输出格式

对于每个测试用例,如果你可以确保战胜 Bob,则输出 YES,否则输出 NO

评测系统对大小写不敏感(例如,YES、Yes、yes、yEs 都会被识别为肯定回答)。

8
6 9
20 10
69 2
42 9
42 10
44 9
44 10
400000 400000
YES
YES
NO
NO
YES
YES
NO
YES

提示

样例解释

在第一个测试用例中,你可以立即通过造成 88 点伤害获胜,使得 nn 变为 68=206 - 8 = -2 \le 0

在第二个测试用例中:

  • 你选择造成 1010 点伤害;
  • Bob 可以选择造成 [1,10][1, 10] 中不同于 1010 的任意伤害;
  • 然后你可以选择造成 1010 点伤害并获胜。

在第三个测试用例中:

  • 要么你开始时造成 11 点伤害,然后 Bob 必须造成 22 点伤害,接着你必须造成 11 点伤害,依此类推;
  • 要么你开始时造成 22 点伤害,然后 Bob 必须造成 11 点伤害,接着你必须造成 22 点伤害,依此类推。

在两种情况下,你都会输掉。

翻译由 DeepSeek 完成