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

spfa 模板

 #include<iostream>
#include<stdio.h>
#include<string.h>
#include<queue>
using namespace std; const int INF=<<;
int cnt,head[],d[],vis[],n,m;
queue<int>q; struct node
{
int u,v,w,next;
} edge[]; void add(int u,int v,int w)
{
edge[cnt].u=u;
edge[cnt].v=v;
edge[cnt].w=w;
edge[cnt].next=head[u];
head[u]=cnt++;
}; void spfa(int s)
{
int i,u,v;
for(i=; i<n; i++)
d[i]=INF;
d[s]=; q.push(s);
vis[s]=;
while(!q.empty())
{
u=q.front();
q.pop();
vis[u]=;
for(i=head[u]; i!=-; i=edge[i].next)
{
v=edge[i].v;
if(d[u]+edge[i].w<d[v])
{
d[v]=d[u]+edge[i].w;
if(!vis[v])
{
vis[v]=;
q.push(v);
}
}
}
}
};
int main()
{
int u,v,w,s,t;
while(cin>>n>>m)
{
cnt=;
memset(head,-,sizeof(head));
memset(vis,,sizeof(vis));
while(m--)
{
cin>>u>>v>>w;
add(u,v,w);
add(v,u,w);
}
cin>>s>>t;
spfa(s);
if(d[t]<INF) cout<<d[t]<<endl;
else cout<<-<<endl;
}
}

floyd 模板

 #include <stdio.h>
#include <string.h>
const int oo = <<;
int map[][]; int n, m;
void floyd()
{
int k,i,j;
for( k = ; k < n; k++)
for( i = ; i < n; i++)
for( j = ; j < n; j++)
if(map[i][k]+map[k][j] < map[i][j])
map[i][j] = map[i][k]+map[k][j];
}
void init()
{
int i,j;
for( i = ; i < n; i++)
{
for(j = ; j < n; j++)
map[i][j] = oo;
map[i][i] = ;
}
}
int main()
{
int i;
while(~scanf("%d %d", &n, &m))
{
init();
int u, v, w;
for( i = ; i < m; i++)
{
scanf("%d %d %d", &u, &v, &w);
if(map[u][v] > w)
{
map[u][v] = w;
map[v][u] = w;
}
}
floyd();
scanf("%d %d", &u, &v);
if(map[u][v] < oo)
printf("%d\n", map[u][v]);
else
printf("-1\n");
}
return ;
}

hdu 1874 畅通工程续(模板题 spfa floyd)的更多相关文章

  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 畅通工程续(SPFA模板)

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

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

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

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

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

  8. HDU——1874畅通工程续(Dijkstra与SPFA)

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

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

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

随机推荐

  1. 64位CentOS 6.4下安装wine(32位)

    1. 到http://dl.fedoraproject.org/pub/epel/6/x86_64/repoview/epel-release.html下载epel-release-6-8.noarc ...

  2. phpcms v9二级栏目生成到根目录后三级栏目无法访问的解决办法

    这个栏目问题折腾了我一天多,可怜我这个美工又不会程序!!! 我的问题是: 我的栏目设置如下: 一级栏目[生成到根目录(是)]> 二级栏目[生成到根目录(是)] > 三级栏目[生成到根目录( ...

  3. Linux 查看某个用户的进程

    Linux 查看某个用户的进程 To view only the processes owned by a specific user, use the following command: top ...

  4. SQL Server是如何让定时作业

    如果在SQL Server 里需要定时或者每隔一段时间执行某个存储过程或3200字符以内的SQL语句时,可以用管理->SQL Server代理->作业来实现. 1.管理->SQL S ...

  5. 深入浅出话XAML-学习笔记

    第一章 XAML是什么? 1.1XAML之前 *设计师的设计更不上程序逻辑的变化 *程序员未能完全实现设计师提供的效果图 *效果图与程序功能不能完全匹配 *从效果图到软件UI的转化耗费很多时间 1.2 ...

  6. To get TaskID's Integer ID value from the GUID in SharePoint workflow

    list.GetItemByUniqueId(guid).ID int itemID = spList.Items[new Guid("")].ID;

  7. Qt库的静态编译

    一.准备软件1. MinGW     (C:\Qt\MinGW)http://pan.baidu.com/share/link?shareid=174269&uk=673227135这个文件解 ...

  8. Contest2037 - CSU Monthly 2013 Oct (problem B :Scoop water)

    http://acm.csu.edu.cn/OnlineJudge/problem.php?cid=2037&pid=1 [题解]:卡特兰数取模 h(n) = h(n-1)*(4*n-2)/( ...

  9. c#用反射原理递归遍历复杂实体对象

    之前在网上看到的都是遍历那种比较简单的实体对象,但是如果有实体嵌套,甚至是包含有List<XXInfo>这种属性的时候就没有办法处理了.通过递归遍历的方式可以完成对复杂实体对象的所有属性的 ...

  10. c++ 链接

    header.h #ifndef HEADER_H #define HEADER_H unsigned long getFac(unsigned short num); ; #endif // HEA ...