有如下所示的数塔,要求从底层走到顶层,若每一步只能走到相邻的结点,要求经过结点的数字之和最大,请问应该如何走,请输出从塔底到塔顶的行走路线,同时计算出经过结点的最大数字和是多少?
(假设本问题中,不存在多条路线从塔底走到塔顶经过结点的数字和都是最大的,也就是本题涉及测试数据得到的路径都是唯一的)
为了方便计算我们将数塔中的值存到如下图所示的二维数组中,该数塔的行走路线将如下图的箭头所示。
我们要输出的行走路线就是:5,2->4,2->3,1->2,1->1,1
经过结点的最大数字和为30
输入数据首先包括一个整数整数N(1 <= N <= 100),表示数塔的高度,接下来用N行数字表示数塔,其中第i行有个i个整数,且所有的整数均在区间[0,99]内。
第一行,按照样例输出所示的形式,输出数塔的行走路线。
第二行,输出经过结点的最大数字和。
5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
5,2->4,2->3,1->2,1->1,1
30