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

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

蜂巢由大量的六边形拼接而成,定义蜂巢中的方向为: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

比赛公告

第十三届蓝桥杯大赛软件赛省赛 Java 研究生组
C题

质因数个数

D题

数位排序

E题

蜂巢

F题

爬树的甲壳虫

G题

重新排序

H题

技能升级

I题

最优清零方案

J题

推导部分和

注意事项:

1. 不要使用 package 语句。

2. 选手代码的主类名必须为:Main,否则会被判为无效代码。

3. 如果程序中引用了类库,在提交时必须将 import 语句与程序的其他部分同时提交。

4. 只允许使用 Java 自带的类库。

5. 提交时,注意选择使用Java语言。

本比赛结束依旧可以训练,见题集2022年第十三届蓝桥杯大赛软件类省赛Java研究生组真题