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

Floyd模板(详细操作最基础版)

Floyd模板(详细操作最基础版)
#include<cstdio>
#include<iostream>
using namespace std;
#define MAX 500
#define INFE 1<<20
 
int N; 
int map[MAX][MAX],b[MAX],path[MAX][MAX];  //path[i][j]记录路径
 
void init()
{
       int i,j;
       for(i=1;i<=N;i++)
              for(j=1;j<=N;j++)
              {
                     map[i][j]=INFE;
                     path[i][j]=j;
              }
}
 
void floyd()
{
       int i,j,k;
       for(k=1;k<=N;k++)
              for(i=1;i<=N;i++)
                     for(j=1;j<=N;j++)
                            if(map[i][j]>map[i][k]+map[k][j])
                            {
                                   map[i][j]=map[i][k]+map[k][j];
                                   path[i][j]=path[i][k];
                            }
}
 
 
int main()
{
       int m,u,v,len;
       while(scanf("%d%d",&N,&m)!=EOF) //输入城市数量 和 道路数量
       {
              init();//初始化
              while(m--)
              {
                     scanf("%d%d%d",&u,&v,&len);
                     map[u][v]=map[v][u]=len;
              }
              floyd();//进行每对节点的求最小路径
              
              while(scanf("%d%d",&u,&v))
              {//输入起点和终点
                     int tmp=u;
                     printf("%d",u);
                     while(tmp!=v)
                     {//打印路径
                            printf("-->%d",path[tmp][v]);
                            tmp=path[tmp][v];
                     }
					 //输出最小花费
                     cout<<endl;
                     cout<<"cost: "<<map[u][v]<<endl;
              }
       }
       return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

posted on 2014-07-19 11:21 france 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/france/p/4808739.html

相关文章:

  • Sendmail大全
  • 内核配置备份
  • Query 使用手册
  • 循环冗余校验码CRC,求解步骤
  • 求职中的平常心——Leo网上答疑48
  • 实验三 数据查询(4学时)
  • 北京簋街 美食完全攻略 + 簋街好吃的夜宵去处-----店铺介绍大全
  • 随书赠送的台历样式
  • Interview2---3g
  • 整合Bullet物理引擎到Ogre on iPhone
  • CDMA的定位方式
  • Bullet的3D Max插件
  • 判断字符串中字符最多的那一个及个数
  • 两个最容易被人忽略的基本代码优化技术
  • Windows的达尔文进化图
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • css属性的继承、初识值、计算值、当前值、应用值
  • C学习-枚举(九)
  • ECS应用管理最佳实践
  • IDEA常用插件整理
  • IndexedDB
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • react-native 安卓真机环境搭建
  • SOFAMosn配置模型
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 二维平面内的碰撞检测【一】
  • 前端自动化解决方案
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 教程:使用iPhone相机和openCV来完成3D重建(第一部分) ...
  • 如何正确理解,内页权重高于首页?
  • #android不同版本废弃api,新api。
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • $(function(){})与(function($){....})(jQuery)的区别
  • (175)FPGA门控时钟技术
  • (done) 两个矩阵 “相似” 是什么意思?
  • (WSI分类)WSI分类文献小综述 2024
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (转)拼包函数及网络封包的异常处理(含代码)
  • .NET 表达式计算:Expression Evaluator
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .pop ----remove 删除
  • .sh文件怎么运行_创建优化的Go镜像文件以及踩过的坑
  • .vue文件怎么使用_我在项目中是这样配置Vue的
  • [ 云计算 | AWS 实践 ] 基于 Amazon S3 协议搭建个人云存储服务
  • [3D游戏开发实践] Cocos Cyberpunk 源码解读-高中低端机性能适配策略
  • [Android Pro] Notification的使用
  • [Angular] 笔记 6:ngStyle
  • [AutoSar]BSW_Com07 CAN报文接收流程的函数调用
  • [c#基础]值类型和引用类型的Equals,==的区别
  • [CF407E]k-d-sequence
  • [HeMIM]Cl,[AeMIM]Br,[CeEIM]Cl,([HO-PECH-MIM]Cl,[HOOC-PECH-MIM]Cl改性酚醛树脂
  • [IE6 only]关于Flash/Flex,返回数据产生流错误Error #2032的解决方式
  • [iOS]-NSTimer与循环引用的理解