CF1452A.Robot Program

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Robot Program

题目描述

有一个无限的二维网格。机器人站在格点 (0,0)(0, 0),它想要到达格点 (x,y)(x, y)。机器人可以执行以下命令:

  • 从格点 (i,j)(i, j) 向北移动到 (i,j+1)(i, j + 1)
  • 从格点 (i,j)(i, j) 向东移动到 (i+1,j)(i + 1, j)
  • 从格点 (i,j)(i, j) 向南移动到 (i,j1)(i, j - 1)
  • 从格点 (i,j)(i, j) 向西移动到 (i1,j)(i - 1, j)
  • 停留在格点 (i,j)(i, j)

机器人希望用尽可能少的命令从 (0,0)(0, 0) 到达 (x,y)(x, y)。但是,机器人不能连续两次或多次执行相同的命令。

问:从 (0,0)(0, 0)(x,y)(x, y),机器人最少需要多少次命令?

输入格式

第一行包含一个整数 tt1t1001 \le t \le 100),表示测试用例的数量。

接下来的 tt 行,每行包含两个整数 xxyy0x,y1040 \le x, y \le 10^4),表示机器人的目标坐标。

输出格式

对于每个测试用例,输出一个整数,表示机器人从 (0,0)(0, 0)(x,y)(x, y) 所需的最少命令数,前提是不能连续执行相同的命令两次或更多次。

说明/提示

示例测试的解释:

我们用字符 N、E、S、W 和 0 分别表示向北、向东、向南、向西和停留在当前位置。

在第一个测试用例中,机器人可以使用如下序列:NENENENENE。

在第二个测试用例中,机器人可以使用如下序列:NENENEN。

在第三个测试用例中,机器人可以使用如下序列:ESENENE0ENESE。

在第四个测试用例中,机器人不需要移动。

在第五个测试用例中,机器人可以使用如下序列:E0E。

由 ChatGPT 4.1 翻译

样例

5
5 5
3 4
7 1
0 0
2 0
10
7
13
0
3

在线编程 IDE

建议全屏模式获得最佳体验