#C40705. 数塔的行走路径

数塔的行走路径

题目描述

有如下所示的数塔,要求从底层走到顶层,若每一步只能走到相邻的结点,要求经过结点的数字之和最大,请问应该如何走,请输出从塔底到塔顶的行走路线,同时计算出经过结点的最大数字和是多少? (假设本问题中,不存在多条路线从塔底走到塔顶经过结点的数字和都是最大的,也就是本题涉及测试数据得到的路径都是唯一的)

为了方便计算我们将数塔中的值存到如下图所示的二维数组中,该数塔的行走路线将如下图的箭头所示。

输入格式

输入数据首先包括一个整数整数 N ( 1 \leq N \leq 100 ),表示数塔的高度,接下来用 N 行数字表示数塔,其中第 i 行有个 i 个整数,且所有的整数均在区间 [0,99][0,99] 内。

输出格式

第一行,按照样例输出所示的形式,输出数塔的行走路线。

第二行,输出经过结点的最大数字和。

样例

输入数据 1

5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5

输出数据 1

5,2->4,2->3,1->2,1->1,1
30

输入数据 2

10
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6
1 2 3 4 5 6 7
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9 0

输出数据 2

10,9->9,9->8,8->7,7->6,6->5,5->4,4->3,3->2,2->1,1
54