#codefestivalrelaye. [code_festival_relay_e]変な足し算
[code_festival_relay_e]変な足し算
问题
考虑一个由 行 列的正方形格子组成的棋盘。每个格子上都写着一个1位数(范围从0到9)或者点号.
。棋盘的左上角格子坐标为,右上角格子坐标为,左下角格子坐标为,右下角格子坐标为。
重复以下步骤,直到棋盘上只剩下一个整数为止:
- 从所有格子中选择一对包含整数的格子组,使得该对格子的曼哈顿距离最大(曼哈顿距离定义为两个格子的坐标分别为和时的)。
- 在选定的格子对中,将格子上的整数和写入较大整数所在的格子,并将较小整数所在的格子写入点号
.
。如果两个整数相等,则自由选择任意一个格子作为新整数的位置,同时另一个格子写入点号.
。
完成以上步骤后,请计算棋盘上可能剩余的整数中的最大值。
输入
输入以以下格式给出:
...
- 第一行包含两个整数 和 ,分别表示棋盘的行数和列数 ()。
- 接下来的 行描述了棋盘上的信息。
- 表示棋盘第 行的内容,是一个由长度为 的字符字符串组成,每个字符可以是数字
0
-9
中的一个或点号.
。 - 确保棋盘上至少包含一个整数。
输出
输出一行,表示可能剩余的整数中的最大值。
最后以换行符结束,不要包含额外的字符或空行。
示例1
2 3
12.
.5.
输出1
8
示例2
5 5
..3.9
.1..6
2.3.4
7..11
....8
输出2
45