AT_panasonic2020_f.Fractal Shortest Path

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

对于非负整数 KK,定义如下的 KK 级分形图案。

  • 00 级分形是仅包含一个白色格子的网格。
  • 当 K>0K > 0 时,KK 级分形是一个 3K×3K3^K \times 3^K 的网格。将该网格划分为 99 个 3K−1×3K−13^{K-1} \times 3^{K-1} 的子块时,
    • 中央的子块全部为黑色格子。
    • 其余 88 个子块均为 K−1K-1 级分形。

例如,22 级分形如下图所示。

2 级分形

在 3030 级分形中,将从上往下第 rr 行,从左往右第 cc 列的格子记作 (r,c)(r, c)。

给定 QQ 组整数 (ai,bi,ci,di)(a_i, b_i, c_i, d_i),对于每组,求从 (ai,bi)(a_i, b_i) 到 (ci,di)(c_i, d_i) 的距离。

这里,从 (a,b)(a, b) 到 (c,d)(c, d) 的距离定义为满足以下条件的最小 nn:

  • 存在一条仅经过白色格子的路径 (x0,y0),…,(xn,yn)(x_0, y_0), \ldots, (x_n, y_n),满足:
    • (x0,y0)=(a,b)(x_0, y_0) = (a, b)
    • (xn,yn)=(c,d)(x_n, y_n) = (c, d)
    • 对于任意 ii(0≤i≤n−10 \leq i \leq n-1),格子 (xi,yi)(x_i, y_i) 与 (xi+1,yi+1)(x_{i+1}, y_{i+1}) 边相邻。

输入格式

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

QQ
a1 b1 c1 d1a_1\ b_1\ c_1\ d_1
⋮\vdots
aQ bQ cQ dQa_Q\ b_Q\ c_Q\ d_Q

输出格式

输出共 QQ 行。第 ii 行输出从 (ai,bi)(a_i, b_i) 到 (ci,di)(c_i, d_i) 的距离。

输入输出样例

  • 输入#1

    2
    4 2 7 4
    9 9 1 9

    输出#1

    5
    8

说明/提示

数据范围

  • 1≤Q≤100001 \leq Q \leq 10000
  • 1≤ai,bi,ci,di≤3301 \leq a_i, b_i, c_i, d_i \leq 3^{30}
  • (ai,bi)≠(ci,di)(a_i, b_i) \neq (c_i, d_i)
  • (ai,bi)(a_i, b_i) 和 (ci,di)(c_i, d_i) 均为白色格子
  • 输入均为整数

样例解释 1

样例解释

由 ChatGPT 4.1 翻译

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

首页