floyd解法

今天初看dijkstra,先拿这两题练手,其他变形题还是不是很懂。

模版题,纯练打字。。。

HDU 1874:

#include <cstdio>

#define MAXN 200
#define INF 0xfffff int n;
int Edge[MAXN][MAXN];
int s[MAXN];
int dist[MAXN];
int path[MAXN]; void Dijkstra(int v0) {
int i, j, k;
for (i = 0; i < n; i++) {
dist[i] = Edge[v0][i];
s[i] = 0;
if (i != v0 && INF > dist[i])
path[i] = v0;
else
path[i] = -1;
}
s[v0] = 1;
dist[v0] = 0;
for (i = 0; i < n - 1; i++) {
int min = INF, u = v0;
for (j = 0; j < n; j++)
if (!s[j] && dist[j] < min){
u = j;
min = dist[j];
}//if
s[u] = 1;
for (k = 0; k < n; k++) {
if (!s[k] && Edge[u][k] < INF && dist[u] + Edge[u] [k] < dist[k]) {
dist[k] = dist[u] + Edge[u][k];
path[k] = u;
}//if
}//for
}//for
} int main() {
int m;
int i, j;
while (scanf("%d%d", &n, &m) != EOF) {
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
if (i == j)
Edge[i][j] = 0;
else
Edge[i][j] = INF;
int x, y, z;
for (i = 0; i < m; i++) {
scanf("%d%d%d", &x, &y, &z);
if (z < Edge[x][y])
Edge[y][x] = Edge[x][y] = z;
}
scanf("%d%d", &x, &y);
Dijkstra(x);
if (dist[y] < INF)
printf("%d\n", dist[y]);
else
printf("-1\n");
}//while
return 0;
}

HDU 2544:

#include <cstdio>

#define MAXN 200
#define INF 0xfffff int n;
int Edge[MAXN][MAXN];
int s[MAXN];
int dist[MAXN];
int path[MAXN]; void Dijkstra(int v0) {
int i, j, k;
for (i = 0; i < n; i++) {
dist[i] = Edge[v0][i];
s[i] = 0;
if (i != v0 && INF > dist[i])
path[i] = v0;
else
path[i] = -1;
}
s[v0] = 1;
dist[v0] = 0;
for (i = 0; i < n - 1; i++) {
int min = INF, u = v0;
for (j = 0; j < n; j++)
if (!s[j] && dist[j] < min){
u = j;
min = dist[j];
}//if
s[u] = 1;
for (k = 0; k < n; k++) {
if (!s[k] && Edge[u][k] < INF && dist[u] + Edge[u] [k] < dist[k]) {
dist[k] = dist[u] + Edge[u][k];
path[k] = u;
}//if
}//for
}//for
} int main() {
int m;
int i, j;
while (scanf("%d%d", &n, &m) && n && m) {
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
if (i == j)
Edge[i][j] = 0;
else
Edge[i][j] = INF;
int x, y, z;
for (i = 0; i < m; i++) {
scanf("%d%d%d", &x, &y, &z);
if (z < Edge[x-1][y-1])
Edge[y-1][x-1] = Edge[x-1][y-1] = z;
}
Dijkstra(0);
printf("%d\n", dist[n - 1]);
}//while
return 0;
}

(重刷)HDU 1874 畅通工程续 + HDU 2544 最短路 最短路水题,dijkstra解法。的更多相关文章

  1. ACM: HDU 1874 畅通工程续-Dijkstra算法

    HDU 1874 畅通工程续 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Desc ...

  2. HDU 1874 畅通工程续-- Dijkstra算法详解 单源点最短路问题

    参考 此题Dijkstra算法,一次AC.这个算法时间复杂度O(n2)附上该算法的演示图(来自维基百科): 附上:  迪科斯彻算法分解(优酷) problem link -> HDU 1874 ...

  3. hdu 1874 畅通工程续

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1874 畅通工程续 Description 某省自从实行了很多年的畅通工程计划后,终于修建了很多路.不过 ...

  4. HDU 1874畅通工程续(迪杰斯特拉算法)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1874 畅通工程续 Time Limit: 3000/1000 MS (Java/Others)     ...

  5. hdu 1874 畅通工程续 Dijkstra

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1874 题目分析:输入起点和终点,顶点的个数,已连通的边. 输出起点到终点的最短路径,若不存在,输出-1 ...

  6. HDU 1874 畅通工程续【Floyd算法实现】

    畅通工程续 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  7. hdu 1874 畅通工程续(求最短距离,dijkstra,floyd)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1874 /************************************************* ...

  8. HDU 1874 畅通工程续(最短路/spfa Dijkstra 邻接矩阵+邻接表)

    题目链接: 传送门 畅通工程续 Time Limit: 1000MS     Memory Limit: 65536K Description 某省自从实行了很多年的畅通工程计划后,终于修建了很多路. ...

  9. hdu 1874 畅通工程续(迪杰斯特拉优先队列,floyd,spfa)

    畅通工程续 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

随机推荐

  1. MVC使用Google OAuth[OWIN]注意事項

    1.前提條件,申請一個client id,頁面:https://console.developers.google.com/ 2.添加連接域名,javascript那欄位為域名即可,另一欄需要加上具體 ...

  2. homework-06

    围棋问题 关于代码的阅读,写注释,我的代码阅读量和阅读能力都有限,而且是关于没有基础的围棋问题,JAVA和C#混合的程序.不免参考了其他同学的思路,忘老师见谅. 1.playPrev(GoMove) ...

  3. Com进程通信(Delphi2007)

    相关资料: 1.http://my.oschina.net/u/582827/blog/2847662.http://www.cnblogs.com/findumars/p/5277561.html3 ...

  4. SpringDataMongoDB介绍(一)-入门

    SpringDataMongoDB介绍(一)-入门 本文介绍如何应用SpringDataMongoDB操作实体和数据库,本文只介绍最基本的例子,复杂的例子在后面的文章中介绍. SpringDataMo ...

  5. AVCaptureSession 照相时获取 AVCaptureVideoPreviewLayer尺寸

    http://stackoverflow.com/questions/14153878/avcapturesession-preset-photo-and-avcapturevideopreviewl ...

  6. ASP.NET网站中设置404自定义错误页面

    在用ASP.NET WebForm开发一个网站时,需要自定义404错误页面. 做法是这样的 在网站根目录下建立了一个404.html的错误页面,然后在Global.asax文件中,加入如下代码: &l ...

  7. ManagementFactory (简介)

    Java Management Extensions (JMX) is a Java technology that supplies tools for managing and monitorin ...

  8. 网络子系统54_ip协议分片重组_定位ipq

    //为分片确定正确的ipq结构 // 定位5元组 // 1.<id, 源ip, 目的ip, l4协议> 可通过ip报文获取 // 2.user 通过ip_defrag给出,指出重组是由谁发 ...

  9. FluentData微型ORM

    最近在帮朋友做一个简单管理系统,因为笔者够懒,但是使用过的NHibernate用来做这中项目又太不实际了,索性百度了微型ORM,FluentData是第一个跳入我眼睛的词.简单的了解下FluentDa ...

  10. 微软IIS服务器的最佳优化工具- IIS Tuner

      dudu的 <让Windows Server 2008 + IIS 7+ ASP.NET 支持10万个同时请求>,里面涉及到需要手工调整参数的地方.在这篇文章中,我们给你介绍一个IIS ...