POJ3268 Silver Cow Party spfa求解 最短路
来源:互联网 发布:碧柔防晒霜 知乎 编辑:程序博客网 时间:2024/05/18 03:13
题意:有N个点M条边,农场间由M条有向路径连接。每头牛来回都走最短的路,求这些牛中来回的最大时间?
分析:做两次spfa,一次以X为源点到每头牛,再一次从每头牛到X,求出每头牛来回的最大时间即使答案。
#include<iostream>#include<algorithm>#include<queue>#include<vector>#include<cstring>#include<cstdio>const int INF=0x3f3f3f3f;typedef long long LL;using namespace std;const int maxn=100005;struct Edge{int e,w;Edge(){}Edge(int _e,int _w):e(_e),w(_w){}};int dist[maxn];int vis[maxn];vector<Edge> G[maxn];int N,M,X;int spfa(int v,int e){memset(dist,INF,sizeof(dist));memset(vis,0,sizeof(vis));queue<int> q;dist[v]=0;q.push(v);vis[v]=1;while(!q.empty()){int s=q.front();q.pop();vis[s]=0;for(int i=0;i<G[s].size();i++){int e=G[s][i].e;if(dist[s]+G[s][i].w<dist[e]) {dist[e]=dist[s]+G[s][i].w;if(!vis[e]) {vis[e]=1;q.push(e);}}}}return dist[e];}int main(){//freopen("E:\\ACM\\test.txt","r",stdin);scanf("%d%d%d",&N,&M,&X);int s,e,w;for(int i=0;i<=N;i++) G[i].clear();for(int i=0;i<M;i++) {scanf("%d%d%d",&s,&e,&w);G[s].push_back(Edge(e,w));}int ans=0;for(int i=1;i<=N;i++){if(i==X) continue; //不包括X自身那头牛 int a=spfa(X,i); //X到每头牛的距离 int b=spfa(i,X); //每头牛到X的距离 ans=max(ans,a+b); //求每头牛来回的最大值 }printf("%d\n",ans);return 0;}
阅读全文
0 0
- POJ3268 Silver Cow Party spfa求解 最短路
- POJ3268 Silver Cow Party DIJ最短路
- POJ3268 Silver Cow Party 最短路
- 【POJ3268】Silver Cow Party 最短路
- poj3268 Silver Cow Party(最短路变形)
- POJ3268 Silver Cow Party(最短路问题)
- poj3268 Silver Cow Party【最短路】
- poj3268 Silver Cow Party(SPFA)
- 【POJ3268】Silver Cow Party【spfa】
- Silver Cow Party--poj3268(SPFA)
- POJ3268—Silver Cow Party(反向最短路)
- [spfa/dijkstra]poj3268 Silver Cow Party
- POJ3268 Silver Cow Party(dijkstra,spfa)
- POJ3268 Silver Cow Party(最短路径)
- POJ3268:Silver Cow Party
- poj3268 - Silver Cow Party
- POJ3268 Silver Cow Party
- POJ3268 Silver Cow Party
- 什么是AOP
- bzoj 2243 [SDOI2011]染色 (线段树 + 树链剖分)
- Python os._exit() sys.exit() exit()区别
- spring boot使用fastJson解析数据
- select服务器的实现
- POJ3268 Silver Cow Party spfa求解 最短路
- 【Android】QQ登录第三方应用
- S扫描器 宝刀未老的DOS系统中的扫描器
- HDU 6047 Maximum Sequence
- C语言——实例014 质因数
- macOS外接显示器字体画面模糊虚化已解决
- 神奇的Linux 之小知识点总结
- Spring-基于Java类的配置
- 利用线程将网络指定的图片下载到本地,将文件分四次下载,结果并未实现QAQ求大神指教下