多段图是一种特殊的DAG,其节点可以划分成若干个阶段,每个阶段只由上一个阶段所决定。 问题描述 给定一个m行n列(m<=10,n<=100)的整数矩阵,从第一列任何一个位置出发每次往右、右上或者右下走一格,最终到达最后一列。要求经过的整数之和最小。整个矩形是环形的,即第一行的上一行是最后一行,最后一行的下一行是上一行。输出路径上每列的行号,多解时输出字典序最小的那条路径。图1是两个矩阵对应的最后路线(唯一的区别是最后一行)。 图1 矩阵对应的最优路线 分析