当前位置: 首页 > article >正文

14-图论-多源最短路径Floyd算法

题目

来源

25. 最爱的城市

思路

多源最短路径问题,直接使用Floyd算法,思路简单,代码也好写。注意初始化,以及一些小细节,比如如果INT_MAX,因为相加之后会出现溢出。其余详见代码。

关于floyd,详见这篇blog:(建议收藏)一文多图,彻底搞懂Floyd算法(多源最短路径)-阿里云开发者社区

代码

#include<bits/stdc++.h>
using namespace std;
const int N=110;
int d[N][N];
int n,m;
void floyd(){
    for(int k=1;k<=n;k++){
        for(int i=1;i<=n;i++){
            for(int j=1;j<=n;j++){
                d[i][j]=min(d[i][j],d[i][k]+d[k][j]);
            }
        }
    }
}
int main(){
    while(cin>>n>>m){
        for(int i=1;i<=n;i++){
            for(int j=1;j<=n;j++){
                d[i][j]=INT_MAX/2;
            }
        }
        int i,j,l;
        while(m--){
            cin>>i>>j>>l;
            d[i][j]=l;
            d[j][i]=l;
        }
        for(int i=1;i<=n;i++)d[i][i]=0;
        floyd();
        int x,y;
        cin>>x>>y;
        if(d[x][y]==INT_MAX/2)cout<<"No path"<<endl;
        else cout<<d[x][y]<<endl;
    }
    return 0;
}

http://www.kler.cn/a/594148.html

相关文章:

  • 蓝桥杯备考----》贪心之删数问题
  • 当了5年牛马,我开始划水了。。。
  • Spring MVC 参数校验-校验注解
  • 如何用AI轻松制作PPT,提升工作效率和演讲质量
  • Ruby on Rails 中的 Delegated Types(委托类型)
  • v-form标签里的:rules有什么作用。如何定义。
  • Linux应用:Linux的信号
  • 【AVRCP】蓝牙AVRCP协议中的L2CAP互操作性要求深度解析
  • 多模态文档处理新标杆:开源SmolDocling以256M参数精准识别文本、公式、图表
  • 【蓝桥杯速成】| 3.数据结构
  • 嵌入式硬件篇---龙芯PWM生成
  • C/S模型-TCP
  • dfs(二十四)47. 全排列 II
  • Rk3568驱动开发_设备树_9
  • Ubuntu 安装 gdb 错误解决方案
  • 由LAC自动建立L2TP实验
  • 图论——Prim算法
  • Vue 渲染 LaTeX 公式 Markdown 库
  • 【PyTorch基础】PyTorch还支持线性代数运算?PyTorch的内置线性代数运算示例
  • 网络安全威胁与防护措施(上)