您当前的位置: 首页 > 

minato_yukina

暂无认证

  • 0浏览

    0关注

    138博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

紫书UVA116 单项TSP

minato_yukina 发布时间:2020-12-18 16:14:58 ,浏览量:0

给出一个m*n的数字矩阵,问从第一列任意行出发(只能直走,右下,左下),到最后一列所经数字的最小路径是什么,如果有多解,输出字典序最小解.

这个矩阵第一行的上一行是最后一行,最后一行的下一行是第一行

我们定义状态d(j,i)表示当前在第j列,第i行,当前数字和是多少。初始边界就是第一列的数字等于它自身.

考虑状态转移:一个格子可以由前一列格子的三个格子转移过来.

然后考虑如何表示那三列 开一个row数组,保存当前状态的上一列那三行,特判一下当前行是1或者是n然后修改对应的row数组值。

最后sort一下row数组,因为要得到字典序,所以从较小的数字(行数)开始枚举.

代码如下(过样例但是WA,日后再补吧呃呃呃)

#include
#include
#include
#include
#define INF (1            
关注
打赏
1663570241
查看更多评论
0.0407s