Dotcpp  >  编程题库  >  蓝桥杯2022年第十三届省赛真题-蜂巢
题目 2685:

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

时间限制: 2s 内存限制: 576MB 提交: 2232 解决: 607

题目描述

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