CF1610A Anti Light's Cell Guessing

题目描述

你正在玩一个 $n \times m$ 的网格游戏,计算机在网格中选中了某个格子 $(x, y)$,你的任务是确定这个格子的位置。 为此,你可以选择一个 $k$,并选出 $k$ 个格子 $(x_1, y_1),\, (x_2, y_2), \ldots, (x_k, y_k)$,然后把这些格子的位置告诉计算机。作为回应,你会得到 $k$ 个数 $b_1,\, b_2, \ldots, b_k$,其中 $b_i$ 表示从 $(x_i, y_i)$ 到隐藏格子 $(x, y)$ 的曼哈顿距离(你知道每个距离对应的是哪个输入的格子)。 在收到这些 $b_1,\, b_2, \ldots, b_k$ 后,你必须能够确定隐藏格子的位置。请问,最小的 $k$ 是多少,使得无论计算机选择哪个格子,你都能唯一确定隐藏格子的位置? 提醒:两个格子 $(a_1, b_1)$ 和 $(a_2, b_2)$ 之间的曼哈顿距离为 $|a_1-a_2|+|b_1-b_2|$。

输入格式

输入的第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例的数量。 接下来的每个测试用例包含一行,包含两个整数 $n$ 和 $m$($1 \le n, m \le 10^9$),分别表示网格的行数和列数。

输出格式

对于每个测试用例,输出一个整数,表示该测试用例下的最小 $k$。

说明/提示

在第一个测试用例中,最小的 $k$ 是 $2$,你可以选择例如 $(1, 1)$ 和 $(2, 1)$ 这两个格子。 注意,如果你选择 $(1, 1)$ 和 $(2, 3)$ 作为 $k=2$ 的两个格子,那么对于 $(1, 2)$ 和 $(2, 1)$ 这两个格子,都会得到 $b_1=1, b_2=2$,因此无法确定隐藏格子的位置。 在第二个测试用例中,你应该选择 $k=1$,比如选择 $(3, 1)$ 或 $(1, 1)$。 由 ChatGPT 4.1 翻译