CF2109B.Slice to Survive
普及-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
决斗者 Mouf 和 Fouad 进入了一个 n×m 的网格竞技场!
Fouad 的怪物初始位于单元格 (a,b),其中行编号为 1 到 n,列编号为 1 到 m。
Mouf 和 Fouad 将持续决斗,直到网格仅剩一个单元格。
每个回合包含以下操作:
- Mouf 首先沿某行或列将网格切割成两部分,丢弃不包含 Fouad 怪物的部分。注意网格必须至少有两个单元格,否则游戏已经结束。
- 之后,在同一回合内,Fouad 将他的怪物移动到剩余网格中的任意单元格(可以保持原位)。
第四个测试案例的可视化图示。
Mouf 希望最小化回合数,而 Fouad 希望最大化回合数。如果双方都采取最优策略,这场史诗级决斗将持续多少回合?
输入格式
每个测试包含多个测试用例。第一行包含测试用例数量 t(1≤t≤104)。接下来是测试用例描述。
每个测试用例的第一行也是唯一一行包含四个整数 n、m、a 和 b(2≤n,m≤109,1≤a≤n,1≤b≤m)——分别表示行数、列数、怪物起始行和起始列。
输出格式
对于每个测试用例,输出一个整数——在双方都采取最优策略时,这场史诗级决斗将持续的回合数。
输入输出样例
输入#1
8 2 2 1 1 3 3 2 2 2 7 1 4 2 7 2 2 8 9 4 6 9 9 5 5 2 20 2 11 22 99 20 70
输出#1
2 4 4 3 6 8 6 10
说明/提示
在第一个测试案例中,一种可能的决斗序列如下:
- 第 1 回合:Mouf 沿第 1 行和第 2 行之间的水平线切割网格,移除下半部分,留下 1×2 的网格。
- 第 1 回合:Fouad 的怪物位于单元格 (1,1)。
- 第 2 回合:Mouf 再次切割 1×2 网格,移除一列,最终隔离出单元格 (1,1)。
决斗在 2 回合内完成。
在第四个测试案例中,一种可能的决斗序列如下:
- 第 1 回合:Mouf 沿第 2 列和第 3 列之间的垂直线切割网格,将其分为 2×2 和 2×5 两部分,然后移除 2×5 部分。
- 第 1 回合:Fouad 将怪物移动到单元格 (1,1)。
- 此后,决斗过程与第一个测试案例类似——再用两个回合将 2×2 网格缩减为 1×1 单元格。
总计,决斗在 3 回合内完成。
可以参考题目描述中提到的图片来查看第四个测试案例的图示。
翻译由 DeepSeek V3 完成
输入解题思路,AI测评打分。不知道怎么写?