问题2187--我觉得自己跑得很快

2187: 我觉得自己跑得很快

时间限制: 1 Sec  内存限制: 64 MB
提交: 164  解决: 35
[状态] [讨论版] [提交] [命题人:]
题目描述
As we all know, the… 算了,我英语不好,题目很简单,我们有一个N层的数字塔,塔上每一个格子都有一个bad值,下图展示了一个N=4的数字塔:
当我们进入某个格子时就会获得对应的bad值,我们每次只能向下或者向右下移动一个格子。等等,当时讲动态规划用的不就是这个例题,我还记得它的状态转移方程,这是不是太easy了?
那好吧,来增加一点点难度,我们每次不仅可以向下,向右下移动,还可以向左或者向右移动一个格子,但是不能越界。一开始我们的ssh学长在第一行第一列,他想走到最后一行,但是我们的ssh学长不喜欢bad,他想使得走到最后一行时获得的bad值的和最小,当然最后一行的bad值也要算上。
现在他把这个问题交给你,想让你计算出他最小能获得多少bad值,以及他获得最小bad值时是位于最后一行的哪一列。

输入
第一行一个整数N(1<=N<=1000)。
接下来N行,第i行有i个整数wi1 wi2 … wii,wij表示第i行第j列的格子对应的bad值(0<wij<=1e3)。

输出
一行两个整数,第一个整数是最小的bad值的和,第二个整数是ssh学长最后的位置,只需要输出该位置是第N行的第几列即可。如果答案不唯一,输出列编号最小的位置。

样例输入 Copy
4
1
2 2
3 4 5
4 5 6 7
样例输出 Copy
10 1