AT_past20_n パワーアップ
题目描述
有一个 $10^9 \times 10^9$ 的网格。用 $(i, j)$ 表示第 $i$ 行(自上而下)第 $j$ 列(自左向右)的格子。
英雄初始位于 $(1, 1)$。他可以向上、下、左、右四个相邻格子移动之一。当他到达 $(A, B)$ 这个格子后,英雄会“能力提升”,此后可以向八个相邻格子中的任意一个移动。
- $(i, j)$ 的八个相邻格子为 $(i-1, j-1), (i-1, j), (i-1, j+1), (i, j-1), (i, j+1), (i+1, j-1), (i+1, j), (i+1, j+1)$(只包括实际存在的格子)。
此外,网格上有 $N$ 枚硬币。第 $i$ 枚硬币位于 $(C_i, D_i)$。当英雄到达该格子时可以收集一枚硬币。
他想收集所有硬币。请问至少需要多少步才能收集完所有硬币?
输入格式
输入从标准输入读取,格式如下:
> $N\ A\ B\ C_1\ D_1\ C_2\ D_2\ \cdots\ C_N\ D_N$
输出格式
输出答案。
说明/提示
### 样例解释 1
英雄可以通过下述 $11$ 步收集所有硬币。
- 英雄初始在 $(1, 1)$。
- 他用三步到达 $(4, 1)$ 并收集一枚硬币。
- 再用两步移动到 $(5, 2)$ 并获得能力提升。
- 用一步到达 $(6, 3)$ 收集一枚硬币。
- 再用五步到达 $(1, 7)$ 收集最后一枚硬币。
因为在 $10$ 步或更少的步数内无法收集所有硬币,所以答案是 $11$。
### 数据范围
- $1 \leq N \leq 16$
- $1 \leq A, B, C_i, D_i \leq 10^9$
- $(1, 1), (A, B), (C_1, D_1), \dots, (C_N, D_N)$ 两两不同。
- 所有输入均为整数。
由 ChatGPT 5 翻译