Floyd。注意字典序!!!

 #include <stdio.h>
#include <string.h> #define MAXNUM 55
#define INF 0x1fffffff int cost[MAXNUM][MAXNUM];
int path[MAXNUM][MAXNUM];
int taxes[MAXNUM];
int que[MAXNUM];
int n; void floyd(int n) {
int i, j, k, tmp; for (i=; i<=n; ++i)
for (j=; j<=n; ++j)
path[i][j] = j; for (k=; k<=n; ++k) {
for (i=; i<=n; ++i) {
for (j=; j<=n; ++j) {
tmp = cost[i][k]+cost[k][j]+taxes[k];
if (cost[i][j] > tmp) {
cost[i][j] = tmp;
path[i][j] = path[i][k];
} else if (cost[i][j] == tmp) {
if (path[i][j] > path[i][k])
path[i][j] = path[i][k];
}
}
}
}
} void output(int a, int b) {
int front, rear;
int x = a;
front = rear = ; //que[rear++] = a;
while (path[x][b] != b) {
que[rear++] = path[x][b];
x = path[x][b];
}
if (a != b)
que[rear++] = b; printf("From %d to %d :\n", a, b);
printf("Path: %d", a);
while (front < rear)
printf("-->%d", que[front++]);
printf("\nTotal cost : %d\n\n", cost[a][b]);
} int main() {
int a, b;
int i, j; while (scanf("%d", &n)!=EOF && n) {
for (i=; i<=n; ++i)
for (j=; j<=n; ++j) {
scanf("%d", &cost[i][j]);
if (cost[i][j] < )
cost[i][j] = INF;
}
for (i=; i<=n; ++i)
scanf("%d", &taxes[i]);
floyd(n);
while () {
scanf("%d %d", &a, &b);
if (a==- && b==-)
break;
output(a, b);
}
} return ;
}

【HDOJ】1385 Minimum Transport Cost的更多相关文章

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

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

  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 (Floyd)

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

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

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

  5. hdu 1385 Minimum Transport Cost (floyd算法)

    貌似···················· 这个算法深的东西还是很不熟悉!继续学习!!!! ++++++++++++++++++++++++++++ ======================== ...

  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. 【HDOJ】3473 Minimum Sum

    划分树解.主席树解MLE. /* 3473 */ #include <iostream> #include <sstream> #include <string> ...

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

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

随机推荐

  1. hp惠普服务器监控硬盘

    惠普 hpssacli 工具使用 查看raid卡信息(包括控制器状态.Cache状态.电池状态) # hpssacli ctrl all show status 查看raid详细信息 # hpssac ...

  2. Tomcat 的 SSL 配置

    本教程使用 JDK 6 和 Tomcat 7,其他版本类似. 基本步骤: 使用 java 创建一个 keystore 文件 配置 Tomcat 以使用该 keystore 文件 测试 配置应用以便使用 ...

  3. [Unity官方文档翻译]ScrollRect

    官方地址:http://docs.unity3d.com/Manual/script-ScrollRect.html 一边学习一边翻译不知效率如何= = Scroll Rect 在小区域里展示大量内容 ...

  4. Eclipse - 安装 run-jetty-run 插件及使用 jrebel 热部署

    安装 run-jetty-run 插件 1. 下载 run-jetty-run 2. 解压至 Eclipse/MyEclipse 安装目录下的 plugin 3. 右键 web 项工程,选择 Run ...

  5. PHP数组函数相关

    php的数组函数是一个重点,因为在PHP中是一个主要的复合数据类型, 首先是,寻找一个值是否存在一个数组中的函数: array_search — 在数组中搜索给定的值,如果成功则返回相应的键名 mix ...

  6. MSSQL生成整个数据库的SQL脚本的工具 scptxfr.exe

    scptxfr.exe的路径要正确declare @cMd varchar(1000)set @cmd = 'master.dbo.xp_cmdshell ' + '''c:\"Micros ...

  7. Access restriction:The type JPEGCodec is not accessible due to restriction on required library C:\Program Files\Java\jre6\lib\rt.jar

    解决方法: Project -> Properties -> libraries, 先remove掉JRE System Library,然后再Add Library重新加入. ===== ...

  8. UITextField 对输入金额的约束

    [2016/1/18更新] -- 五个人辛辛苦苦干了一年的项目终于上线了,今天有空看了一下正则表达式教程,然后开始rebuild之前的种种对字符串的约束,首先就从这个金额输入框开始吧,修改后的代码如下 ...

  9. C#获取数组的行和列数程序代码

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cons ...

  10. Git (1)

    对于程序员来说,版本管理工具可称得上是必需品.越来越多的版本管理开始使用Git,特别是Github的流行更加使得大家对于Git越来越关注.因此对于Git的学习是非常必要和重要的. 先看几个好玩的数据: ...