AT_past20_n.パワーアップ

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有一个 109×10910^9 \times 10^9 的网格。用 (i,j)(i, j) 表示第 ii 行(自上而下)第 jj 列(自左向右)的格子。
英雄初始位于 (1,1)(1, 1)。他可以向上、下、左、右四个相邻格子移动之一。当他到达 (A,B)(A, B) 这个格子后,英雄会“能力提升”,此后可以向八个相邻格子中的任意一个移动。

  • (i,j)(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)(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)(只包括实际存在的格子)。

此外,网格上有 NN 枚硬币。第 ii 枚硬币位于 (Ci,Di)(C_i, D_i)。当英雄到达该格子时可以收集一枚硬币。
他想收集所有硬币。请问至少需要多少步才能收集完所有硬币?

输入格式

输入从标准输入读取,格式如下:

N A B C1 D1 C2 D2 ⋯ CN DNN\ A\ B\ C_1\ D_1\ C_2\ D_2\ \cdots\ C_N\ D_N

输出格式

输出答案。

输入输出样例

  • 输入#1

    3 5 2
    4 1
    1 7
    6 3

    输出#1

    11
  • 输入#2

    3 500000000 500000000
    1 1000000000
    1000000000 1
    1000000000 1000000000

    输出#2

    2999999997
  • 输入#3

    8 36 49
    73 52
    38 86
    30 52
    85 48
    27 60
    45 40
    65 98
    71 37

    输出#3

    228

说明/提示

样例解释 1

英雄可以通过下述 1111 步收集所有硬币。

  • 英雄初始在 (1,1)(1, 1)。
  • 他用三步到达 (4,1)(4, 1) 并收集一枚硬币。
  • 再用两步移动到 (5,2)(5, 2) 并获得能力提升。
  • 用一步到达 (6,3)(6, 3) 收集一枚硬币。
  • 再用五步到达 (1,7)(1, 7) 收集最后一枚硬币。

因为在 1010 步或更少的步数内无法收集所有硬币,所以答案是 1111。

数据范围

  • 1≤N≤161 \leq N \leq 16
  • 1≤A,B,Ci,Di≤1091 \leq A, B, C_i, D_i \leq 10^9
  • (1,1),(A,B),(C1,D1),…,(CN,DN)(1, 1), (A, B), (C_1, D_1), \dots, (C_N, D_N) 两两不同。
  • 所有输入均为整数。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页