此题属于dijkstra双边权问题,直接使用dijkstra算法找到满足题意条件的边长
1. 对于边权问题的处理方法: 设定w[ k ] = weight[ u ][k] + w[u]; //求出满足题意要求的边权值
2. 对于点权问题的处理方法: w[ k ] = weight[k]+ w[ u ] //求出满足题意要求点权值
3. 对于求满足题意最短路径(有多条)求总共的条数的问题: (有更小的边)num_path[ start]= 1 num_path[ k ] = numpath[ u ]
当出现相同的边 num[k] = numpath[ k ] +numpath[ u ];
4. 对于求满足题意路径中结点个数问题: node_path[ k ] = node[ u ] + 1
3. 对于满足题意要求路径输出问题:1. 设定数组dispre保存所有满足要求(不仅仅是长度)路径的父节点,通过disdfs()输出路径
2.第二种方法:使用dfs算法遍历,设定vector<>path[ maxsize ](二维向量)存储最短路径 长度(注意只满足长度这个条件),在dfs中就处理题中其他的条件,输出满足题意要求的最短路径。