#P1764. Dice Contest

Dice Contest

本题没有可用的提交语言。

题目描述

在迪森特市,每个人都热爱赌博。每周六,整个社区都会聚在一起参加一场骰子比赛。几年前,他们用的是经典的六面骰子,六个面分别标有1到6个点,玩得非常开心。

然而,他们很快就厌倦了,因此现在开始使用更复杂的骰子。他们在每个面上贴一张标签,并在标签上写一个正整数。

比赛在一个无限延伸的棋盘状长条上进行,长条宽度为4格,左右无限延伸(现实中不存在?别太较真!)。长条的行从下到上编号为1到4,列从左到右依次编号。每个格子由一对坐标(x,y)标识,其中x是列号,y是行号。

游戏开始时,骰子由组委会选定放置在某个格子上,初始状态为1点朝上,2点朝向玩家。玩家需要通过将骰子沿边滚动到相邻(水平或垂直方向)的格子来移动骰子。每次滚动后骰子朝上的数字即为该次移动的代价。游戏的目标是将骰子从起始格子滚动到目标格子,并使所有移动的代价之和最小。

任务

编写一个程序:

  1. 读取骰子的描述、起始格子和目标格子;
  2. 计算从起始格子滚动到目标格子的最小代价;
  3. 输出结果。

注意:所有参赛队伍使用的骰子均由组委会提供。

输入格式

第一行包含六个整数 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