编程题
皮亚诺曲线距离 ### 题目描述 皮亚诺曲线是一条平面内的曲线。 下图给出了皮亚诺曲线的 $1$ 阶情形,它是从左下角出发,经过一个 $3 × 3$ 的方格中的每一个格子,最终到达右上角的一条曲线。 ![图片描述](https://doc.shiyanlou.com/courses/uid1580206-20210519-1621414971540) 下图给出了皮亚诺曲线的 $2$ 阶情形,它是经过一个 $3^2 × 3^2$ 的方格中的每一个格子的一条曲线。它是将 $1$ 阶曲线的每个方格由 $1$ 阶曲线替换而成。 ![图片描述](https://doc.shiyanlou.com/courses/uid1580206-20210519-1621414980418) 下图给出了皮亚诺曲线的 $3$ 阶情形,它是经过一个 $3^3 × 3^3$ 的方格中的每一个格子的一条曲线。它是将 $2$ 阶曲线的每个方格由 $1$ 阶曲线替换而成。 ![图片描述](https://doc.shiyanlou.com/courses/uid1580206-20210519-1621414986317) 皮亚诺曲线总是从左下角开始出发,最终到达右上角。 我们将这些格子放到坐标系中,对于 $k$ 阶皮亚诺曲线,左下角的坐标是$(0, 0)$,右上角坐标是 $(3^k − 1, 3^k − 1)$,右下角坐标是 $(3^k − 1, 0)$,左上角坐标是$(0, 3^k − 1)$。 给定 $k$ 阶皮亚诺曲线上的两个点的坐标,请问这两个点之间,如果沿着皮亚诺曲线走,距离是到少? ### 输入描述 输入的第一行包含一个正整数 $k$,皮亚诺曲线的阶数。 第二行包含两个整数 $x_1, y_1$,表示第一个点的坐标。 第三行包含两个整数 $x_2, y_2$,表示第二个点的坐标。 其中有 ,$0 ≤ k ≤ 100, 0 ≤ x_1, y_1, x_2, y_2 < 3^k, x_1, y_1, x_2, y_2 ≤ 10^{18}$。数据保证答案不超过 $10^{18}$。 ### 输出描述 输出一个整数,表示给定的两个点之间的距离。 ### 输入输出样例 #### 示例 >输入 ```txt 1 0 0 2 2 ``` >输出 ```txt 8 ```
查看答案
赣ICP备20007335号-2