#P1764. Dice Contest
Dice Contest
本题没有可用的提交语言。
题目描述
在迪森特市,每个人都热爱赌博。每周六,整个社区都会聚在一起参加一场骰子比赛。几年前,他们用的是经典的六面骰子,六个面分别标有1到6个点,玩得非常开心。
然而,他们很快就厌倦了,因此现在开始使用更复杂的骰子。他们在每个面上贴一张标签,并在标签上写一个正整数。
比赛在一个无限延伸的棋盘状长条上进行,长条宽度为4格,左右无限延伸(现实中不存在?别太较真!)。长条的行从下到上编号为1到4,列从左到右依次编号。每个格子由一对坐标(x,y)标识,其中x是列号,y是行号。
游戏开始时,骰子由组委会选定放置在某个格子上,初始状态为1点朝上,2点朝向玩家。玩家需要通过将骰子沿边滚动到相邻(水平或垂直方向)的格子来移动骰子。每次滚动后骰子朝上的数字即为该次移动的代价。游戏的目标是将骰子从起始格子滚动到目标格子,并使所有移动的代价之和最小。
任务
编写一个程序:
- 读取骰子的描述、起始格子和目标格子;
- 计算从起始格子滚动到目标格子的最小代价;
- 输出结果。
注意:所有参赛队伍使用的骰子均由组委会提供。
输入格式
第一行包含六个整数 l1, l2, l3, l4, l5, l6(1 ≤ li ≤ 50),用空格分隔,其中 li 表示原本标有 i 个点的面上的数字。
第二行包含四个整数 x1, y1, x2, y2(-10^9 ≤ x1, x2 ≤ 10^9,1 ≤ y1, y2 ≤ 4),用空格分隔,其中 (x1, y1) 是起始格子的坐标,(x2, y2) 是目标格子的坐标。
输出格式
输出一行,包含从起始格子滚动到目标格子的最小代价。
输入样例 1
1 2 8 3 1 4
-1 1 0 2
输出样例 1
7
来源
中欧 2003