最短路问题——Floyd算法模板

Floyd算法简介

Floyd算法计算的是每两点之间的最短路,既可用于计算正权路,又可计算负权路

Floyd算法模板

时间复杂度为O(n^3)

const int INF=1<<30;
int d[maxn][maxn];

void Floyd(){
	for(int k=0;k<n;k++)
		for(int i=0;i<n;i++)
			for(int j=0;j<n;j++){
				if(d[i][j]<INF&&d[k][j]<INF)
					d[i][j]=min(d[i][j],d[i][k]+d[k][j]);
			}		
}

习题

1.uva10048
https://cn.vjudge.net/problem/UVA-10048
2.uva104

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页