(模板)最短路径

—————————————————————————————————————————————————— —————————————————————前排护眼——————————————————————— ——————————————————————————————————————————————————

1.Floyd O(n^3)

//暴力松弛,优化后,Map[i][j]表示结点i到结点j的最短距离

int n,Map[1005][1005];
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            scanf("%d",&Map[i][j]);
        }
    }
    for(int k=1;k<=n;k++){
        for(int i=1;i<=n;i++){
            for(int j=1;j<=n;j++){
                if(Map[i][j]>Map[i][k]+Map[k][j]){
                    Map[i][j]=Map[i][k]+Map[k][j];
                }
            }
        }
    }
}

猜你喜欢

转载自www.cnblogs.com/xiaozezz/p/11938275.html
今日推荐