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

SPFA

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define N 1000001
using namespace std;
int n,m;
int v[],dis[];
struct node
{
int x,y,z,next;
}edge[];
int t;
int q[];
int ss,ee;
int head[];
void init()
{
memset(head,-,sizeof(head));
t=;
}
void add(int x,int y,int z)
{
edge[t].x=x;
edge[t].y=y;
edge[t].z=z;
edge[t].next=head[x];
head[x]=t++;
}
void SPFA()
{
memset(v,,sizeof(v));
for(int i=;i<n;i++)
dis[i]=N;
dis[ss]=;
v[ss]=;
int tt;
int s=,e=;
q[e++]=ss;
while(s<e)
{
tt=q[s++];
v[tt]=;
for(int i=head[tt];i!=-;i=edge[i].next)
{
if(dis[tt]+edge[i].z<dis[edge[i].y])
{
dis[edge[i].y]=dis[tt]+edge[i].z;
if(v[edge[i].y]==)
{
if(dis[edge[i].y]>dis[q[s]])
q[e++]=edge[i].y;
else q[--s]=edge[i].y;
v[edge[i].y]=;
}
}
}
}
if(dis[ee]==N)
printf("-1\n");
else
printf("%d\n",dis[ee]);
}
int main()
{
int x,y,z;
while(scanf("%d%d",&n,&m)!=EOF)
{
init();
while(m--)
{
scanf("%d%d%d",&x,&y,&z);
add(x,y,z);
add(y,x,z);
}
scanf("%d%d",&ss,&ee);
SPFA();
}
return ;
}

Floy

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define N 1000001
using namespace std;
int n,m;
int ss,ee;
int map[][];
void F()
{
for(int k=;k<n;k++)
{
for(int j=;j<n;j++)
{
for(int i=;i<n;i++)
{
if(map[j][k]+map[k][i]<map[j][i])
map[j][i]=map[j][k]+map[k][i];
}
}
}
if(map[ss][ee]==N)
printf("-1\n");
else
printf("%d\n",map[ss][ee]);
}
int main()
{
int x,y,z;
while(scanf("%d%d",&n,&m)!=EOF)
{
for(int i=;i<n;i++)
{
for(int j=;j<n;j++)
{
map[i][j]=N;
map[j][i]=N;
}
map[i][i]=;
}
while(m--)
{
scanf("%d%d%d",&x,&y,&z);
if(map[x][y]>z)
{
map[x][y]=z;
map[y][x]=z;
}
}
scanf("%d%d",&ss,&ee);
F();
}
return ;
}

畅通工程续 (SPFA模板Floy模板)的更多相关文章

  1. POJ 1874 畅通工程续(最短路模板题)

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

  2. HDU 1874 畅通工程续 SPFA || dijkstra||floyd

    http://acm.hdu.edu.cn/showproblem.php?pid=1874 题目大意: 给你一些点,让你求S到T的最短路径. 我只是来练习一下SPFA的 dijkstra+邻接矩阵 ...

  3. HDU | 1874 畅通工程续 SPFA&DIJIESITLA

    题目: 某省自从实行了很多年的畅通工程计划后,终于修建了很多路.不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多.这让行人很困扰 ...

  4. hdu 1874 畅通工程续(SPFA模板)

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

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

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

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

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

  7. hdoj 1874 畅通工程续【dijkstra算法or spfa算法】

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

  8. 畅通工程续(dijskra+SPFA)

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

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

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

随机推荐

  1. 【Web前端开发最佳实践系列】前端代码推荐和建议

    一.常用的前端文件的组织结构: 1.js (放置JavaScript代码) lib(放置框架JavaScript文件) custom.js 2.css(放置CSS样式代码) lib(放置框架CSS文件 ...

  2. PV&UV&IP之间的区别和联系

    PV PV是网站分析的一个术语,用于衡量网站用户访问的网页的数量.对于广告投入商来说,PV值可以预期它可以带来多少收入广告,一般来说,OV与来访者的数量成正比,但是PV并不直接决定页面的真实来访者数量 ...

  3. ( ( (int(*)(uint, ushort, uint *, uint, int)) (*((uint *)(TCM_BASE + 0x8))) ) (a,b,c,d,e) )

    (  (  (int(*)(uint, ushort, uint *, uint, int))  (*((uint *)(TCM_BASE + 0x8)))  ) (a,b,c,d,e)  ) 首先红 ...

  4. Centos 创建 docker项目

    从gitlab上下载一个docker-compose.yml文件. wget -o docker-compose.yml \ https://raw.githubusercontent.com/sam ...

  5. H3C系列之三层交换机dhcp功能的开启

    环境介绍>>>>>>>>>>>>>>>>>>>>交换机名牌:H3C交换机类型:三 ...

  6. eclipse打断点只进入class文件中的解决办法

    内容来源 https://www.cnblogs.com/scode2/p/8671908.html#undefined 是由于对应的Java类跟编译后的class文件,没有关联上, 解决办法: 在打 ...

  7. yii---对数组进行分页

    很多时候,我们会对多个数据进行分页处理,例如我最近开发的一个功能,系统消息,系统消息的来源是多个表,而且多个表之间的数据没有任何关联,这个时候,需要对多个表进行查询,查询返回的数据进行分页,而且采用的 ...

  8. python实现简单购物车系统(练习)

    #!Anaconda/anaconda/python #coding: utf-8 #列表练习,实现简单购物车系统 product_lists = [('iphone',5000), ('comput ...

  9. vue之用法

    一.安装 对于新手来说,强烈建议大家使用<script>引入 二. 引入vue.js文件 我们能发现,引入vue.js文件之后,Vue被注册为一个全局的变量,它是一个构造函数. 三.使用V ...

  10. js遍历json对象

    原生js遍历json对象 遍历json对象: 无规律: <script> var json = [ {dd:'SB',AA:'东东',re1:123}, {cccc:'dd',lk:'1q ...