fzu 2243 Daxia like uber
来源:互联网 发布:mac python numpy安装 编辑:程序博客网 时间:2024/06/05 10:51
http://acm.fzu.edu.cn/problem.php?pid=2243
有向图,一个起点,要去接2个客人并且都要送到目的地,求最短路程
单源最短路多来几遍就可以了,spfa或者其他算法都可以。
#include <iostream>#include <stdio.h>#include <string.h>#include <vector>#include <algorithm>#include<queue>using namespace std;const int inf=0x3f3f3f3f;const int M=1005;struct node{int from,to,dis,next;}e[111111];int vis[M],dist[M],head[M];int n,m,t;void add(int i,int j,int w){e[t].from=i;e[t].to=j;e[t].dis=w;e[t].next=head[i];head[i]=t++;}void spfa(int s){queue<int>q;for(int i=1;i<=n;i++){dist[i]=inf;}memset(vis,false,sizeof(vis));q.push(s);dist[s]=0;while(!q.empty()){int u=q.front();q.pop();vis[u]=false;for(int i=head[u];i!=-1;i=e[i].next){int v=e[i].to;if(dist[v]>dist[u]+e[i].dis){dist[v]=dist[u]+e[i].dis;if(!vis[v]){vis[v]=true;q.push(v);}}}}}int main(){ while(scanf("%d%d",&n,&m)!=EOF) { int s,x1,y1,x2,y2; t=0; memset(head,-1,sizeof(head)); scanf("%d%d%d%d%d",&s,&x1,&y1,&x2,&y2); while(m--) { int a,b,c; scanf("%d%d%d",&a,&b,&c); add(a,b,c);}spfa(s);int a1=dist[x1],a2=dist[x2];spfa(x1);int a3=dist[x2],a4=dist[y1],a5=dist[y2];spfa(x2);int a6=dist[x1],a7=dist[y1],a8=dist[y2];spfa(y1);int a9=dist[x2],a10=dist[y2];spfa(y2);int a11=dist[y1],a12=dist[x1];int ans=a1+a3+a7+a10;ans=min(ans,a1+a4+a9+a8);ans=min(ans,a1+a3+a8+a11);ans=min(ans,a2+a6+a4+a10);ans=min(ans,a2+a6+a5+a11);ans=min(ans,a2+a8+a4+a12);cout<<ans<<endl;}return 0;}
阅读全文
0 0
- FZU 2243 Daxia like uber
- fzu 2243 Daxia like uber
- FZU Problem 2243 Daxia like uber(最短路)
- FZU/FOJ 2243 Daxia like uber【最短路SPFA+思维】
- 【最短路】FOJ 2243 Daxia like uber
- FZUOJ Problem 2243 Daxia like uber (最短路+汗水)
- FZU 2242 Daxia like acute triangle
- FZU 2238Daxia & Wzc's problem
- fzu 2238 Daxia & Wzc's problem
- fzu 2244 Daxia want to buy house
- fzu 2238 Daxia & Wzc's problem
- FZU-2239 Daxia & Yayamao's problem(斜率优化)
- FZU 2239 Daxia & Yayamao's problem 斜率优化
- FZU 2238 Daxia & Wzc's problem【规律+lucas】
- FZU Problem 2238 Daxia & Wzc's problem(Lucas定理求组合数)
- FZU Problem 2240 Daxia & Suneast's problem(博弈+[单点更新,区间查询]线段树)
- FZU 2243
- FZU
- css样式-未完待续
- Sublime text3最全快捷键清单
- java程序将汉字转成拼音的两种方法
- TF ObjectDetectionAPI的安装、验证测试(2)
- 人脸数据集
- fzu 2243 Daxia like uber
- Redis分布式锁的Java实现
- NOIP2017Day1酱油记
- 嵌入式系统导论
- FLAC无损音频播放
- 201409-2 画图
- “Hello World ”
- C#.NET dll封装(包含UI和实现函数),通过反射调用dll实现控件的快速加载(PrimPointList.cs)
- java 23种设计模式 深入理解