貌似····················

这个算法深的东西还是很不熟悉!继续学习!!!!

++++++++++++++++++++++++++++

============================

++++++++++++++++++++++++++++

-------------------------------------------------

============================

#include<stdio.h>

#include<string.h>
#define MAX 10000000

#define N 1001

int a[N][N],b[N],next[N][N];

int n,len;

void floyd()

{


int i,j,k,fee;


for(i=1;i<=n;i++)


for(j=1;j<=n;j++)


next[i][j]=j;


for(k=1;k<=n;k++)


{


for(i=1;i<=n;i++)


{


if(i==k||a[i][k]==-1)


continue;


for(j=1;j<=n;j++)


{


if(a[k][j]==-1||i==k||j==k)


continue;


fee=a[i][k]+a[k][j]+b[k];


if(a[i][j]==-1||a[i][j]>fee)


{


a[i][j]=fee;


next[i][j]=next[i][k];


}


else if(a[i][j]==fee)


{


if(next[i][j]>next[i][k])


next[i][j]=next[i][k];


}


}


}


}

}

void path(int start,int end)

{


if(end==next[start][end])


printf("%d-->%d\n",start,end);


else


{


printf("%d-->",start);


path(next[start][end],end);


}

}

int main()

{


int i,j,start,end;


while(scanf("%d",&n),n)


{


for(i=1;i<=n;i++)


for(j=1;j<=n;j++)


a[i][j]=MAX;


for(i=1;i<=n;i++)


for(j=1;j<=n;j++)


scanf("%d",&a[i][j]);


for(i=1;i<=n;i++)


scanf("%d",&b[i]);


floyd();


while(scanf("%d%d",&start,&end)!=EOF)


{

if(start==-1||end==-1)


break;


printf("From %d to %d :\n",start,end);


if(start==end)//特别注意:当始点与终点相同时的输出格式!


printf("Path: %d\n",start);


else


{


printf("Path: ");


path(start,end);


}


printf("Total cost : %d\n\n",a[start][end]);


}


}

return 0;

}

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1385

hdu 1385 Minimum Transport Cost (floyd算法)的更多相关文章

  1. hdu 1385 Minimum Transport Cost (Floyd)

    Minimum Transport CostTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Ot ...

  2. hdu 1385 Minimum Transport Cost(floyd &amp;&amp; 记录路径)

    Minimum Transport Cost Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/O ...

  3. HDU 1385 Minimum Transport Cost (Dijstra 最短路)

    Minimum Transport Cost http://acm.hdu.edu.cn/showproblem.php?pid=1385 Problem Description These are ...

  4. HDU 1385 Minimum Transport Cost 最短路径题解

    本题就是使用Floyd算法求全部路径的最短路径,并且须要保存路径,并且更进一步须要依照字典顺序输出结果. 还是有一定难度的. Floyd有一种非常巧妙的记录数据的方法,大多都是使用这种方法记录数据的. ...

  5. HDU 1385 Minimum Transport Cost( Floyd + 记录路径 )

    链接:传送门 题意:有 n 个城市,从城市 i 到城市 j 需要话费 Aij ,当穿越城市 i 的时候还需要话费额外的 Bi ( 起点终点两个城市不算穿越 ),给出 n × n 大小的城市关系图,-1 ...

  6. hdu 1385 Minimum Transport Cost

    http://acm.hdu.edu.cn/showproblem.php?pid=1385 #include <cstdio> #include <cstring> #inc ...

  7. HDU 1385 Minimum Transport Cost (最短路,并输出路径)

    题意:给你n个城市,一些城市之间会有一些道路,有边权.并且每个城市都会有一些费用. 然后你一些起点和终点,问你从起点到终点最少需要多少路途. 除了起点和终点,最短路的图中的每个城市的费用都要加上. 思 ...

  8. HDU 1385 Minimum Transport Cost (输出字典序最小路径)【最短路】

    <题目链接> 题目大意:给你一张图,有n个点,每个点都有需要缴的税,两个直接相连点之间的道路也有需要花费的费用.现在进行多次询问,给定起点和终点,输出给定起点和终点之间最少花费是多少,并且 ...

  9. Minimum Transport Cost(floyd+二维数组记录路径)

    Minimum Transport Cost Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/O ...

随机推荐

  1. zabbix网络发现

    zabbix的网络自动发现是一个非常强大的功能,该功能可以完成以下工作 •快速发现并添加主机. •简单的管理. •随着环境的改变而快速搭建监控系统. 网络发现基于以下信息 •ip地址段 •基于服务的F ...

  2. CityEngine中动态水的实现

    地址:http://pan.baidu.com/share/link?shareid=3871210059&uk=3492170216 密码:am5b 在今年Esri全球用户大会和Esri中国 ...

  3. (转)深入理解PHP之数组(遍历顺序)

    深入理解PHP之数组(遍历顺序)(转) http://www.laruence.com/2009/08/23/1065.html (鸟哥) 经常会有人问我, PHP的数组, 如果用foreach来访问 ...

  4. jsp_设置错误页

    在各个常用的web站点中,当一个页面出错后,会自动跳转到一个页面上进行错误信息的显示.下面我们说说这个操作是怎么实现的. 要想完成错误页的操作,在jsp页面必须满足两个条件: (1)指定错误出现时的跳 ...

  5. grunt-replace和grunt-include-replace问题

    关于最近在做的项目要用到的grunt-replace和grunt-include-replace,百度上很多将grunt的压缩合并的教程,可是很少讲关于这两个插件的教程,不过官网上有教程,我就是按照官 ...

  6. asp.net写验证码

    生成验证码与匹配验证码的服务端代码 <%@ WebHandler Language="C#" Class="ValidataeCodeHandler" % ...

  7. 6.3 Android Framework

    Android的四层架构分别为Linux2.6内核层,核心库层,应用框架层,应用层.Framework层为我们开发应用程序提供了非常多的API,满足我们业务上的需求.(Android是基于Linux内 ...

  8. jsp连接sqlServer数据库教程

    一.首先讲下我用的工具版本以供参考: jar包:jtds1.3.1.jar  下载地址:点击进入 数据库:SQL Server2012 服务器:Tomcat8.0   下载地址:点击进入 开发IDE工 ...

  9. EntityFramework 中支持 BulkInsert 扩展

    本文为 Dennis Gao 原创技术文章,发表于博客园博客,未经作者本人允许禁止任何形式的转载. 前言 很显然,你应该不至于使用 EntityFramework 直接插入 10W 数据到数据库中,那 ...

  10. SpringMVC关于json、xml自动转换的原理研究[附带源码分析]

    目录 前言 现象 源码分析 实例讲解 关于配置 总结 参考资料 前言 SpringMVC是目前主流的Web MVC框架之一. 如果有同学对它不熟悉,那么请参考它的入门blog:http://www.c ...