题目: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. Jquery mobile 学习笔记

    最近学习移动开发,接触到了phonegap,然后又需要开始学习jquery mobile.掌握两者是开发轻应用的前提 在学习jquery mobile中,遇到了许多问题让初学者很是头疼,无意间找到这个 ...

  2. Keep two divs sync scroll and example

    srcDiv has visible horizontal scrollbar.(style="overflow:auto;") targetDiv has no scrollba ...

  3. 静态页面中如何传json数据

    首页传递参数组装成json数据,再编码 var param="{type:'"+type+"',text:'"+select_text+"',sele ...

  4. 获取JAVA对象占用的内存大小

    介绍两种获取JAVA对象内存大小的方法. 第一种:Instrumentation 简介: 使用java.lang.instrument 的Instrumentation来获取一个对象的内存大小.利用I ...

  5. 用CSS3写的小案例-图片缩放隐藏内容显示

    思路分析 (1).搭建界面 (2).鼠标移到图片的时候,放大显示 (3).鼠标移入到当前的li标签里面找到后面的div让其显示出来 <!DOCTYPE html> <html lan ...

  6. VB.Net 字符串加密类

    Public Class Cls_JM '使用 'Dim Jm As New Cls_JM(2) 'Dim strTmp As String 'Jm.jiemi(strTmp) 'Jm.Jiami(s ...

  7. Spark Streaming揭秘 Day16 数据清理机制

    Spark Streaming揭秘 Day16 数据清理机制 今天主要来讲下Spark的数据清理机制,我们都知道,Spark是运行在jvm上的,虽然jvm本身就有对象的自动回收工作,但是,如果自己不进 ...

  8. 阿里云Ubuntu服务器安装java环境

    一.下载jdk wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-secureb ...

  9. springMVC数据封装成POJO

    springMVC把前台的数据封装为POJO与struts2的封装形式不同.struts2需要在控制器声明需封装的POJO,而springMVC不需要任何准备工作,只需在相应的方法的参数中加上需封装的 ...

  10. Struts2自定义拦截器实例—登陆权限验证

    版本:struts2.1.6 此实例实现功能:用户需要指定用户名登陆,登陆成功进入相应页面执行操作,否则返回到登陆页面进行登陆,当直接访问操作页面(登陆后才能访问的页面)时则不允许,须返回登陆页面. ...