有一个N x N 的方阵(3≤N≤100), 如下:

一个人从西北角出发,走到东南角。他的每一步只能上下左右,不能斜着走入下一个方块。每跨过一个边界的时间为T (0≤T≤1,000,0000), 每走三步他要休息一下,每个格子的休息时间不一样, 在起点格子不休息,在终点格子有可能会休息。请计算出此人走到终点需要的最短时间。
输入格式:
先是N, 然后是T,最后是每个格子需要休息时间的数列。
例子如下:
4 2
30 92 36 10
38 85 60 16
41 13 5 68
20 97 13 80
输出格式:需要的最短时间。
比如对应以上的输入例子,最短时间是31
因为对于这个例子,最佳路径是往东走三步,在10 休息,然后往南走两步,往西走一步,在5休息,最后往南往东各走一步到达终点。
有什么思路可以分享吗