#E0043. 迷宫路线
迷宫路线
题目描述
有一个 行 列的二维迷宫。我们用 表示第 行第 列的那个格子,用 表示格子 的价值。
二维迷宫中有两位玩家。
第一位玩家叫做张漂亮,她初始的时候在左上角的格子 处,她要移动到右下角的格子 处,每次移动,她只能移动到当前格子右边或者下面相邻的格子,且不能移动到迷宫外。即:若张漂亮当前在格子 ,则她可以移动到右侧的格子 处(当 时)或者下方的格子 处(当 时)。
第二位玩家叫做张美丽,她初始的时候在左下角的格子 处,她要移动到右上角的格子 处,每次移动,她只能移动到当前格子右边或者上面相邻的格子,且不能移动到迷宫外。即:若张漂亮当前在格子 ,则她可以移动到右侧的格子 处(当 时)或者上方的格子 处(当 时)。
两位玩家都有很多条不同的路径可以选择,但是游戏要求两位玩家的路径必须包含恰好 个公共的格子,因为她们需要在这个公共的格子进行信息交换,而如果公共的格子数量大于 个,则她们会被游戏里面的大boss发现,从而输掉游戏。
这也就是说,你需要为张漂亮设计一条从 且每次只能往右或往下移动一格的路径,同时为张美丽设计一条从 且每次只能往右或往上移动一格的路径,并且要求这两条路径存在恰好一个公有的格子。
游戏的得分为:除去那一个公共格子外,其它所有处在两条路径上的格子的价值之和。
因为在公共的格子,两位玩家忙于信息交换而无暇顾及获取格子的价值,而在其它路径上的格子,玩家可以专心获取格子的价值。
每个玩家都可以在某个格子停留任意长的时间,这就意味着,两位玩家并不一定需要同时到达公共的格子,先到公共格子的玩家可以在哪里等待另一位玩家到达,再交换信息。
求:满足上述条件的所有方案中,能够得到的游戏得分的最大值。
输入格式
第一行,两个整数 和 ()。
接下来 行,每行包含 个整数。其中第 行的第 个整数表示格子 的价值 。
输出格式
输出一个整数,表示满足题目条件(两条路径包含恰好一个公共的格子)的情况下游戏得分(路径上出公共格子外其它所有格子的价值之和)的最大值。
3 3
1 2 3
4 5 6
7 8 9
40
说明/提示
样例解释
一共有两种满足条件的方案:
- 方案1:张漂亮选择:右→下→下→右;张美丽选择:上→右→右→上
- 方案2:张漂亮选择:下→右→右→下;张美丽选择:右→上→上→右
两种方案的公共格子都是 ,且两种方案除了公共格子外恰好经过了迷宫中的其它格子恰好一次,所以游戏得分为其它所有格子的价值之和 。
数据规模与约定
- 对于 的数据,
- 对于 的数据,
- 对于 的数据,