题目大意:
求刚好经过K条路的最短路
我们知道如果一个矩阵A[i][j] 表示表示 i-j 是否可达
那么 A*A=B B[i][j] 就表示 i-j 刚好走过两条路的方法数
那么同理
我们把i-j 的路径长度存到A 中。
在A*A的过程中,不断取小的,那么最后得到的也就是i - j 走过两条路的最短路了。
当然也是利用到了floyd的思想。
然后要求出K次的最短路,那么就是矩阵快速幂的工作了。
注意要离散化。用map
#include
#include
#include
#include
#include