SPFA POJ 3268 Silver Cow Party
来源:互联网 发布:云计算安全解决方案 编辑:程序博客网 时间:2024/05/16 01:19
题目链接:http://poj.org/problem?id=3268
题目大意:有n个位置,m条路,求所有点到某一固定点x往返时间的最大值(有向),从i位置到j位置所需要用的时间
算法:SPFA
思路:2次SPFA,一次正向,第二次反向
#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>#include<queue>using namespace std;const int inf = 0xfffffff;queue<int> q;int head[2][123456];struct Edge{int v, w, next;}edge[2][168971];int dis[123456];int vis[123456];int tot[2];int ans[123465];int n;void add_edge(int s, int v, int w, int k){edge[k][tot[k]].v = v;edge[k][tot[k]].w = w;edge[k][tot[k]].next = head[k][s];head[k][s] = tot[k] ++;}void SPFA(int pos, int k){int i;for(i = 1; i <= n; i ++)dis[i] = inf ;q.push(pos);vis[pos] = 1;dis[pos] = 0;while(!q.empty()){int u = q.front();q.pop();vis[u] = 0;for(i = head[k][u]; i != -1; i = edge[k][i].next){int e = edge[k][i].v;if(dis[e] > dis[u] + edge[k][i].w){dis[e] = dis[u] + edge[k][i].w;if(!vis[e])q.push(e);vis[e] = 1;}}}for(i = 1; i <= n; i ++){//printf("dis[%d] = %d\n", i, dis[i]);if(i != pos)ans[i] += dis[i];}}int main(){int m, k;while(scanf("%d%d%d", &n, &m, &k) != EOF){int a, b, c, i;tot[1] = tot[0] = 0;memset(head, -1, sizeof(head));memset(ans, 0, sizeof(ans));for(i = 1; i <= m; i ++){scanf("%d%d%d", &a, &b, &c);add_edge(a, b, c, 1);add_edge(b, a, c, 0);}memset(vis, 0, sizeof(vis));SPFA(k, 0);memset(vis, 0, sizeof(vis));SPFA(k, 1);int minc = -inf;for(i = 1; i <= n; i ++){if(i != k){if(minc < ans[i])minc = ans[i];}}printf("%d\n", minc);}return 0;}
- SPFA POJ 3268 Silver Cow Party
- poj 3268 Silver Cow Party , spfa , dijkstra
- POJ 3268 Silver Cow Party(SPFA)
- poj 3268 Silver Cow Party (spfa )
- Silver Cow Party - POJ 3268 spfa
- poj 3268 Silver Cow Party(SPFA)
- Poj 3268 Silver Cow Party【SPFA】
- POJ 3268 Silver Cow Party(Spfa)
- poj 3268 Silver Cow Party Dijkstra 和SPFA
- poj 3268 Silver Cow Party(最短路+SPFA)
- POJ--3268--Silver Cow Party【SPFA+邻接表】
- POJ 3268 Silver Cow Party (来回最短路 SPFA)
- poj 3268 Silver Cow Party(dijkstra||SPFA)(中等)
- Silver Cow Party poj 3268 Dijkstra,spfa,+vector
- POJ-3268-Silver Cow Party(SPFA 反向建图)
- POJ-3268 Silver Cow Party(最短路spfa算法)
- POJ 3268 Silver Cow Party 【单项图,双向spfa】
- poj 3628 Silver Cow Party (spfa)
- C# VS2008, VS2010 .NET 使用 SVN 的自动生成版本号
- sun solaris 下vi编辑命令的用法,参数不同于linux
- 数据恢复基本原理
- hdu1730 Northcott Game 转换为距离NIM
- 深入理解javascript事件处理函数绑定三部曲(二)——传统处理函数绑定模型
- SPFA POJ 3268 Silver Cow Party
- ARM汇编指令(ARM寻址方式、汇编指令、伪指令)
- C语言笔试题(13)——报数退出
- Perl_Syntax
- 深入理解javascript事件处理函数绑定三部曲(一)——早期的事件处理函数
- expdp使用心得
- Android updater-scripts(Edify Script)各函数详细说明
- 2007淘宝UED招聘题解(前端开发部分)
- Vim入门(三)