畅通工程续 (SPFA模板Floy模板)
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模板)的更多相关文章
- POJ 1874 畅通工程续(最短路模板题)
畅通工程续 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- HDU 1874 畅通工程续 SPFA || dijkstra||floyd
http://acm.hdu.edu.cn/showproblem.php?pid=1874 题目大意: 给你一些点,让你求S到T的最短路径. 我只是来练习一下SPFA的 dijkstra+邻接矩阵 ...
- HDU | 1874 畅通工程续 SPFA&DIJIESITLA
题目: 某省自从实行了很多年的畅通工程计划后,终于修建了很多路.不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多.这让行人很困扰 ...
- hdu 1874 畅通工程续(SPFA模板)
畅通工程续 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- hdu 1874 畅通工程续(迪杰斯特拉优先队列,floyd,spfa)
畅通工程续 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...
- HDU 1874 畅通工程续(最短路/spfa Dijkstra 邻接矩阵+邻接表)
题目链接: 传送门 畅通工程续 Time Limit: 1000MS Memory Limit: 65536K Description 某省自从实行了很多年的畅通工程计划后,终于修建了很多路. ...
- hdoj 1874 畅通工程续【dijkstra算法or spfa算法】
畅通工程续 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- 畅通工程续(dijskra+SPFA)
畅通工程续 Time Limit : 3000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Submiss ...
- HDU——1874畅通工程续(Dijkstra与SPFA)
畅通工程续 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...
随机推荐
- PHP多种序列化/反序列化的方法
序列化是将变量转换为可保存或传输的字符串的过程:反序列化就是在适当的时候把这个字符串再转化成原来的变量使用.这两个过程结合起来,可以轻松地存储和传输数据,使程序更具维护性. 1. serialize和 ...
- 【cs229-Lecture2】Gradient Descent 最小二乘回归问题解析表达式推导过程及实现源码(无需迭代)
视频地址:http://v.163.com/movie/2008/1/B/O/M6SGF6VB4_M6SGHJ9BO.html 机器学习课程的所有讲义及课后作业:http://pan.baidu.co ...
- Android 4.0的图形硬件加速及绘制技巧
转:http://zuiniuwang.blog.51cto.com/3709988/721798 从Android 3.0开始,Android 2D的绘制流程就设计为能够更好地支持硬件加速.使用GP ...
- 深入浅出WPF之Binding的使用(一)
在WPF中Binding可以比作数据的桥梁,桥梁的两端分别是Binding的源(Source)和目标(Target).一般情况下,Binding源是逻辑层对象,Binding目标是UI层的控件对象:这 ...
- windows本地启动tomcat闪退
da开cmd, 进入tomcat所在目录的bin目录: 执行startup.bat 查看设置的环境变量是否正确:如果不正确则在windows中设置正确的相关环境变量即可:
- iOS - 处理计算精度要求很高的数据,floatValue,doubleValue等计算不精确问题
.问题描述:服务器返回的double类型9...94的数字时 .之前处理方式是 :(从内存.cpu计算来说double都是比较合适的,一般情况下都用double) goodsPrice.floatVa ...
- php无限极分类递归与普通
1. 递归 public function getInfo(){$data=$this->select();$arr=$this->noLimit($data,$f_id=0,$level ...
- Nginx防止恶意域名解析
为了防止别人恶意将大量域名解析到自己的网站上面.我们可以对nginx做防止恶意域名解析,这样就只能通过自己的域名访问网站,其他域名就会显示错误500 打开Nginx配置文件nginx.conf,在原来 ...
- PHP 学习笔记之一:thinkPHP的volist标签
Volist标签主要用于在模板中循环输出数据集或者多维数组. 属性: name : 必须,输出数据模板变量,后台提供的变量. id : 必须,是循环变量,可以随便定义,但是不能跟name相同. 举个栗 ...
- The Unique MST POJ - 1679 最小生成树判重
题意:求一个无向图的最小生成树,如果有多个最优解,输出"Not Unique!" 题解: 考虑kruskal碰到权值相同的边: 假设点3通过边(1,3)连入当前所维护的并查集s. ...