2685 问题 C: 蓝桥杯2022年第十三届省赛真题-蜂巢

时间限制: 1s 内存限制: 512MB 提交: 2240 解决: 609
题目描述

蜂巢由大量的六边形拼接而成,定义蜂巢中的方向为:0 表示正西方向,1 表示西偏北 60,2 表示东偏北 60,3 表示正东,4 表示东偏南 60,5 表示西偏南 60。 

对于给定的一点 O,我们以 O 为原点定义坐标系,如果一个点 A 由 O 点先向 d 方向走 p 步再向 (d + 2) mod 6 方向(d 的顺时针 120 方向)走 q 步到达,则这个点的坐标定义为 (d, p, q)。在蜂窝中,一个点的坐标可能有多种。

下图给出了点 B(0, 5, 3) 和点 C(2, 3, 2) 的示意。

蓝桥杯2022年第十三届省赛真题蜂巢

给定点 (d1, p1, q1) 和点 (d2, p2, q2),请问他们之间最少走多少步可以到达?

输入
输入一行包含 6 个整数 d1, p1, q1, d2, p2, q2 表示两个点的坐标,相邻两个整数之间使用一个空格分隔。
输出
输出一行包含一个整数表示两点之间最少走多少步可以到达。 
样例输入
0 5 3 2 3 2
样例输出
7
提示
对于 25% 的评测用例,p1, p2 ≤ 103
对于 50% 的评测用例,p1, p2 ≤ 105
对于 75% 的评测用例,p1, p2 ≤ 107
对于所有评测用例,0 ≤ d1, d2 ≤ 5,0 ≤ q1 < p1 ≤ 109,0 ≤ q2 < p2 ≤ 109

比赛公告

第十三届蓝桥杯大赛软件赛省赛 Python 大学 B 组
C

纸张尺寸

D

数位排序

E

蜂巢

F

消除游戏

G

全排列的价值

H

技能升级

I

最长不下降子序列

J

最优清零方案

注意事项:

1. 对于编程题目,不能使用诸如绘图、硬件操作或与操作系统相关的 API。

2. 所有依赖的模块(如 math)必须明确地在源文件中 import。

3. 只能使用 python 自带的模块,使用 pip 等安装的扩展模块无法使用。

4. 提交时,注意选择使用Python语言。


比赛结束依旧可以训练,请见题集2022年第十三届蓝桥杯大赛软件类省赛Python大学B组真题