蓝桥杯 - 皮亚诺曲线距离
创始人
2025-05-30 09:35:41

题目描述

皮亚诺曲线是一条平面内的曲线。

下图给出了皮亚诺曲线的 111 阶情形,它是从左下角出发,经过一个 3×33×33×3 的方格中的每一个格子,最终到达右上角的一条曲线。

在这里插入图片描述

下图给出了皮亚诺曲线的 222 阶情形,它是经过一个 32×323^2×3^232×32 的方格中的每一个格子的一条曲线。它是将 111 阶曲线的每个方格由 111 阶曲线替换而成。

在这里插入图片描述

下图给出了皮亚诺曲线的 333 阶情形,它是经过一个 33×333^3×3^333×33 的方格中的每一个格子的一条曲线。它是将 222 阶曲线的每个方格由 111阶曲线替换而成。

在这里插入图片描述

皮亚诺曲线总是从左下角开始出发,最终到达右上角。

我们将这些格子放到坐标系中,对于 kkk 阶皮亚诺曲线,左下角的坐标是(0,0)(0,0)(0,0),右上角坐标是 (3k−1,3k−1)(3^k−1,3^k−1)(3k−1,3k−1),右下角坐标是 (3k−1,0)(3^k−1,0)(3k−1,0),左上角坐标是(0,3k−1)(0,3^k−1)(0,3k−1)。

给定 kk 阶皮亚诺曲线上的两个点的坐标,请问这两个点之间,如果沿着皮亚诺曲线走,距离是到少?
输入描述

输入的第一行包含一个正整数 kk,皮亚诺曲线的阶数。

第二行包含两个整数 x1,y1x1,y1x1,y1​,表示第一个点的坐标。

第三行包含两个整数 x2,y2x2,y2x2,y2​,表示第二个点的坐标。

其中有 ,
0≤k≤1000≤x1,y1,x2,y2<3kx1,y1,x2,y2≤10180≤k≤100\\ 0≤x1,y1,x2,y2<3^k\\ x1,y1,x2,y2≤10^{18}0≤k≤1000≤x1,y1,x2,y2<3kx1,y1,x2,y2≤1018
数据保证答案不超过 101810^{18}1018。

输出描述

输出一个整数,表示给定的两个点之间的距离。
输入输出样例
示例

输入	
1
0 0
2 2输出8

运行限制

最大运行时间:1s
最大运行内存: 128M

解题思路

这题可以和分形之城对应起来做,这题是知道两点就距离,分形之城是知道两点到起点的距离求两点距离
acwing-分形之城

求两点的距离可以考虑先求两点各自到起点的距离然后再相减。

这题可以将当前图像看成 999 块 k−1k-1k−1 阶的图像通过 水平、垂直翻转 而来,对于每一阶,变化方式一样,计算方式也是一样的。

先计算当前坐标在当前阶 999 块中的哪一块,根据一阶的顺序这块之前有多少块,根据阶数可以计算每一块的点数,加上前几块的点数。
剩余的就从当前块的入口作为起点,再递归下去以相同的方式求之前有多少块,有多少点数,根据二阶的情况来判断翻转方式。

对于翻转的情况需要在上一阶提前计算好坐标变换后的位置再递归到下一层进行计算。

水平翻转:[x,y]=[−x,y][x, y]=[-x,y][x,y]=[−x,y],这样翻转之后图像整体左移 xxx 个单位,所以用下一阶的长度来减去 xxx。
垂直翻转同理。

因为这题的数据实在太大
题目说小于 101810^{18}1018 又小于 3k3^{k}3k 有点奇怪
3k3^{k}3k 的话最高 3100×31003^{100} \times 3^{100}3100×3100 个点
光数字长度都有 969696 个十进制位
c++需要使用高精度,我这里偷个懒用python🤣

code

def calc(k, x, y):if k == 0: return 0le = pow(3, k - 1) # 每一小块的边长(一行/列的点数)blk = le * le      # 每一小块的面积(点的数量)nx, ny = x // le, y // le  # 当前坐标所在的哪一小块的坐标mx, my = x % le, y % le    # 当前坐标所在的小块内的相对坐标if nx == 0 and ny == 0: return calc(k - 1, mx, my)elif nx == 0 and ny == 1: return blk + calc(k - 1, le - mx - 1, my)elif nx == 0 and ny == 2: return 2 * blk + calc(k - 1, mx, my)elif nx == 1 and ny == 2: return 3 * blk + calc(k - 1, mx, le - my - 1)elif nx == 1 and ny == 1: return 4 * blk + calc(k - 1, le - mx - 1, le - my - 1)elif nx == 1 and ny == 0: return 5 * blk + calc(k - 1, mx, le - my - 1)elif nx == 2 and ny == 0: return 6 * blk + calc(k - 1, mx, my)elif nx == 2 and ny == 1: return 7 * blk + calc(k - 1, le - mx - 1, my)else:                     return 8 * blk + calc(k - 1, mx, my)if __name__ == '__main__':k = int(input())a = list(map(int, input().split()))b = list(map(int, input().split()))d1 = calc(k, a[0], a[1])d2 = calc(k, b[0], b[1])print(abs(d2 - d1))

相关内容

热门资讯

本地和远程连接Oracle数据... 本地和远程连接Oracle数据库登录的方式 1. 本地Oracle数据库登录的几种方式 (1)使用...
今年1号台风迟迟不来,好事还是... 文/陈溯截至目前,西北太平洋未生成任何热带气旋。今年北半球台风为何集体“迟到”?今年一号台风为何迟迟...
ABAP 调用HTTP上传附件... 1、这篇文章的由来 之前已经发表了《ABAP 调用HTTP上传附件》的文章,详细介绍了...
iperf3 服务端和客户端配... 本文目录1、服务端和客户端配置参数交换过程和状态机变化2、服务端代码调用过程3、客户端代码调用过程4...
SpringBoot集成qua... 第一步创建SpringBoot项目的过程我就不在演示了!自己找找教程吧!...
Redis快速恢复数据 Redis的flushall/flushdb命令可以做数据清除,对于Redis的开发和运维人员有一定...
动词的时态 前言(英语时态的四大难点) 难点一:时&态未分清 你必须要...
【华为OD机试 2023最新 ... 题目描述 放暑假了,小明决定到某旅游景点游玩,他在网上搜索到了各种价位的酒店(长度为n的数组A),他...
和美药业IPO:年亏超1亿元,... 文 | 医药研究社 港股18A再添一员? 近日,港交所披露,赣州和美药业股份有限公司(以下简称“和...
阿里突然上AI编程大招!AI ... 智东西 作者 | ZeR0 编辑 | 漠影 智东西5月30日报道,短短两周之内,新一波AI编程热潮密...
持续火热!密集限购 今年以来北交所市场行情持续火热,资金加速涌入,多家基金公司出手控制旗下主题基金规模。近期,天弘基金、...
三瑞智能创业板IPO获受理 拟... 上证报中国证券网讯(记者 操子怡)近日,深交所官网显示,南昌三瑞智能科技股份有限公司(以下简称“三瑞...
50个小众且实用的神级网站 昨晚熬了个大夜,终于把我收藏夹里的50个网站整理出来了,话不多说...
伊能静都在卖的水晶,你的玄学宝... 花朵财经观察出品撰文丨学研“不是黄金买不起,而是水晶更具性价比。3、2、1,上链接!”听着主播的甜言...
Android 异形屏设备设置... 问题 由于业务需要,应用需要配置沉浸式界面,但设置全屏时,...
分析| AI智能生图前景几何? 如果说此前的AI绘画是人工智障,“AI不仁,以万物为刍狗”,...
【每日随笔】西游记相关随笔 (... 文章目录一、天庭组织架构二、佛门组织架构三、天庭的盘根错节四、西游记中的人情世故 西游记 和 红楼...
mysql 核心日志 redo... 文章目录 binlogbinlog 设计原理binlog 记录内容binlog 写入策略 redol...
“伽玛刀之王”大医集团赴港IP... 本报(chinatimes.net.cn)记者郭怡琳 于娜 北京报道近日,“伽玛刀之王”西安大医集团...
Python基础(十九):数学... 简介 Python 中数学相关模块,如下所示:模块描述math提供了对 ...
Java之链表(不带头结点,带... 目录 一.链表 1.什么是链表 2.链表的分类  二.不带头结点单向链表的非递归实现 1.接口的定...
浙大学霸创业23年,干出250... 文 | 杨万里电影《中国合伙人》中有个场景,孟晓骏(邓超饰演)作为当时的一名高材生,他抱着很高的期望...
Docker 常用【基础|镜像... Centos7 下载|安装|配置|卸载 Docker:https://liush.bl...
dmpython win7安装... 系统环境:win7,python3.6,dm8_20230106_x86_win_64...
荣晟环保实控人被采取强制措施 ... 中经记者 陈家运 北京报道5月26日晚间,荣晟环保(603165.SH)公告披露,其于当日收到控股股...
特朗普,又加关税! 当地时间5月30日,美股三大指数盘中突然大幅走低,午后开始有所拉升,最终仅道指艰难翻红。截至收盘,道...
上海证监局副局长赵国富:深化资... 中经记者 罗辑 北京报道2025年陆家嘴论坛召开在即。5月30日,上海市政府举行新闻发布会,介绍20...
“紫金系”狂飙突进:拟分拆黄金... 中经记者 李哲 北京报道 5月26日,紫金矿业(601899.SH、02899.HK)召开董事会,审...
使用anaconda 安装pa... conda create -n paddlespeech python=3.7 cudnn&...
拒做第二个泡泡玛特要做“中国万... 盲盒的故事,资本市场还买账吗?作者|刘钦文编辑|武丽娟LABUBU有多火?从BLACKPINK成员L...