最新公告
  • 欢迎您光临信息学奥赛网,一个优质的信息学编程题库和信息学编程学习资源专业网站。欢迎加入VIP
  • 切片生存

    正文概述 陈老师   2026-01-20 15:15:53  

    题目描述

    决斗者穆夫和法德进入竞技场,竞技场是一个 n×mn \times m 方格!

    法德的怪物从 (a,b)(a, b) 单元格开始,其中行的编号为 11nn ,列的编号为 11mm

    毛夫和法德将一直对决,直到网格中只有一个单元格。

    在每个回合中

    • 穆夫首先沿着一行或一列将网格切成两部分,然后丢弃没有法德怪物的部分。注意,网格必须至少有两个单元格,否则游戏已经结束。
    • 然后,在同一回合中,法德将他的怪物移动到剩余网格中的任何一个单元格(可能是它原来所在的单元格)。

    第四个测试案例的可视化阶段。

    穆夫希望尽量减少回合数,而法德则希望尽量增加回合数。如果双方都发挥出最佳水平,这场史诗般的对决将持续多少回合?

    输入格式

    输入

    每个测试包含多个测试用例。第一行包含测试用例的数量 tt ( 1t1041 \le t \le 10^4 )。测试用例说明如下。

    每个测试用例的第一行也是唯一一行包含四个整数 nnmmaabb ( 2n,m1092 \le n, m \le 10^9 , 1an1 \le a \le n , 1bm1 \le b \le m ) - 分别表示行数、列数、怪物的起始行和怪物的起始列。

    输出格式

    输出

    对于每个测试用例,输出一个整数 - 如果双方都发挥出最佳水平,这场史诗对决将持续的回合数。

    样例

    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
    
    2
    4
    4
    3
    6
    8
    6
    10
    

    提示

    样例1解释

    在第一个测试案例中,一种可能的决斗顺序如下:

    • 第 1 个回合:毛夫沿 11 行和 22 行之间的线水平切割网格,去掉下半部,留下一个 1×21 \times 2 网格。
    • 第一回合法德的怪物位于 (1,1)(1,1) 单元格。
    • 第二回合:穆夫再次切割 1×21 \times 2 网格,移除一列,并隔离 (1,1)(1,1) 单元格。

    决斗在 22 个回合内完成。

    在第四种情况中,一种可能的决斗顺序如下:

    • 第1回合:毛夫沿着 22 列和 33 列之间的直线垂直切割网格,将其分割成一个 2×22 \times 2 和一个 2×52 \times 5 区域,然后删除 2×52 \times 5 部分。
    • 第一回合法德将怪兽移动到 (1,1)(1,1) 单元。
    • 从这时起,对决就像第一个测试案例一样进行--再下两回合,将网格从 2×22 \times 2 缩小到单个 1×11 \times 1 单元格。

    总之,决斗在 33 个回合内完成。

    您可以参考问题陈述中提到的图片来了解第四个测试案例。

    信息学奥赛网,一个优质的信息学奥赛学习资源平台!
    信息学奥赛网 » 切片生存