hdu 1874 畅通工程续(模板题 spfa floyd)
题目: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)的更多相关文章
- ACM: HDU 1874 畅通工程续-Dijkstra算法
HDU 1874 畅通工程续 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Desc ...
- HDU 1874 畅通工程续-- Dijkstra算法详解 单源点最短路问题
参考 此题Dijkstra算法,一次AC.这个算法时间复杂度O(n2)附上该算法的演示图(来自维基百科): 附上: 迪科斯彻算法分解(优酷) problem link -> HDU 1874 ...
- hdu 1874 畅通工程续
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1874 畅通工程续 Description 某省自从实行了很多年的畅通工程计划后,终于修建了很多路.不过 ...
- HDU 1874畅通工程续(迪杰斯特拉算法)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1874 畅通工程续 Time Limit: 3000/1000 MS (Java/Others) ...
- 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 某省自从实行了很多年的畅通工程计划后,终于修建了很多路. ...
- HDU——1874畅通工程续(Dijkstra与SPFA)
畅通工程续 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...
- HDU 1874 畅通工程续【Floyd算法实现】
畅通工程续 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
随机推荐
- [Oracle]Oracle学习小结(1)
1.查看Oracle数据库中的所有用户: (1)使用具有DBA权限的账户登录数据库: (2)执行select username from dba_users. SQL> conn sys 输入口 ...
- 让Ecshop网店系统用户自动登陆
让Ecshop网店系统用户户自动登陆,打开ecshop includes/init.php文件,可以发现Ecshop系统判断用户的SESSION不存在的时候会去读取存储在COOKIES里面的值.如下代 ...
- Demo学习: CustomException
CustomException 捕获程序发生的异常. 1. 抛出各种异常 procedure TMainForm.UniButton1Click(Sender: TObject); begin PBy ...
- python del函数
del用于list列表及字典操作,删除一个或者连续几个元素也可以删除字典指定的key 示例程序如下: >>> a = [-1, 3, 'aa', 85] # 定义一个list&g ...
- jQuery基础与实例
一.简介 1.什么是jQuery jQuery是一个轻量级.快速简洁的javaScript库,能让我们方便快捷的选择元素操作元素属性. 2.下载地址 3.jQuery使用方式 $("div& ...
- Xcode 合并分支报错
原理和操作步骤见如下转载的两篇文章, 我所使用的 svn 客户端软件是 Mac 下面的 Versions.app v1.06 这个版本包含一个多人开发的bug bug 的解决方案见我之前转载的两篇文章 ...
- 企业应用的Web程序的安全性
提起安全性这个话题,大家恐怕依稀还记得Sony的PSP账户信息泄露的事故造成的重大损失.但是又隐隐觉得这事儿离我很远,无需过多考虑.也有的人会想,我们做的是企业内部系统所以不必太在意.但是,Web程序 ...
- 为什么要在<button>元素中添加type属性
在HTML中<button> 标签定义一个按钮. <button type="button">Click Me!</button> 在 butt ...
- 1056: [HAOI2008]排名系统 - BZOJ
Description 排名系统通常要应付三种请求:上传一条新的得分记录.查询某个玩家的当前排名以及返回某个区段内的排名记录.当某个玩家上传自己最新的得分记录时,他原有的得分记录会被删除.为了减轻服务 ...
- sentos 上安装vnc图形界面
一.安装gnome图形化桌面 CentOS 6.3 64位 #yum groupinstall -y "X Window System" #yum groupinstall - ...