欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
S40206.2-6 追溯街道
2-6 追溯街道
追溯街道
G-10井架的入口不是一扇门,而是一张不断旋转的分形地图。街道以自相似的方式嵌套——第0层是一个点,第1层是四个点组成的方块,第2层是四个第1层方块按不同角度拼接,依此类推。
Echo说这叫"压缩空间"——Zero用递归结构把几公里的实际距离折叠成几十米的数据走廊。如果不按分形规则走,你会永远在同一条街道上循环。
"两个目标点的编号是 和 。"Echo在空中标出两个光点,"先递归找到它们在每一层的坐标,然后计算实际路径长度。"
CC看着地图上无限嵌套的街道,忽然说:"太奶奶讲过,火星的城市以前是很规则的方块。后来Zero来了,把一切都改成了这种……无限套娃的样子。"
"因为分形最省资源。"Echo说,"同一个规则,生成任意规模的结构。"
你开始递归拆解。从最高层开始,判断目标点落在哪个象限——每个象限的旋转角度不同,需要坐标变换。一层一层剥下去,直到第0层的基础点。
屏幕上跳出了两个坐标。距离不远——直线距离两公里,但沿着分形街道要走三倍。
"那就跑。"CC说。
题目描述
分形城市。级别 的城市由四个级别 的城市按特定旋转方式组成。求两个房子编号 和 的直线距离*10(四舍五入)。
输入格式
多组。每组 。 结束。
输出格式
每组一行——距离*10 取整。
输入样例
2
1 1 1 2
2 2 2 3
输出样例
0
0
提示
- 递归求坐标。每层四个象限——旋转规则不同。
- 可能很大——注意数据范围。
- 。
分形地图在终端上解体,露出后面真正的通道。CC第一个冲进去,金属肩膀在幽暗中反射着应急灯的绿光。
你跟上去,听见Echo在身后轻轻说:"递归有终点。Zero的规则再复杂,归根到底都要回到第0层的基础点。"
"第0层是什么?"
Echo沉默了一秒:"是一个选择。"
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |