UVA 12661 Funny Car Racing(最短路)
来源:互联网 发布:chart.js的tip提示 编辑:程序博客网 时间:2024/04/30 18:18
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4399
思路:判断当前时间加上通过时间是否能通过(Tnow%(a+b)+t<=a),若能则直接通过,若不能则等待a+b-Tnow%(a+b)时间。注意a<t时该边应舍弃。
#include<cstdio>#include<queue>#include<cstring>#include<iostream>#include<algorithm>using namespace std;const int maxn=300+50;const int INF=0x3f3f3f3f;struct Node{ int v,a,b,t;};int n,m,S,T;vector<Node> g[maxn];int dist[maxn],v[maxn];void SPFA(int s){ queue<int> q; memset(v,0,sizeof(v)); for(int i=1;i<=n;i++) dist[i]=INF; q.push(s),v[s]=1,dist[s]=0; while(!q.empty()) { int now=q.front(); q.pop(),v[now]=0; for(int i=0;i<g[now].size();i++) { int nt=g[now][i].v,t=g[now][i].t; int a=g[now][i].a,b=g[now][i].b; if(dist[now]%(a+b)+t<=a) { if(dist[nt]>dist[now]+t) { dist[nt]=dist[now]+t; { v[nt]=1; q.push(nt); } } } else { if(dist[nt]>dist[now]+a+b-dist[now]%(a+b)+t) { dist[nt]=dist[now]+a+b-dist[now]%(a+b)+t; if(!v[nt]) { v[nt]=1; q.push(nt); } } } } }}int main(){ int cas=0; while(scanf("%d%d%d%d",&n,&m,&S,&T)!=EOF) { for(int i=1;i<=n;i++) g[i].clear(); for(int i=0;i<m;i++) { int u,v,a,b,t; scanf("%d%d%d%d%d",&u,&v,&a,&b,&t); if(a>=t) g[u].push_back((Node){v,a,b,t}); } SPFA(S); printf("Case %d: %d\n",++cas,dist[T]); } return 0;}
0 0
- UVA 12661 Funny Car Racing(最短路)
- UVA 12661 Funny Car Racing(最短路)
- UVA 12661 Funny Car Racing(最短路)
- UVA 12661 Funny Car Racing (Dijkstra最短路)
- 12661 - Funny Car Racing (最短路)
- Funny Car Racing(最短路)
- CSU 1333 & Uva 12661 Funny Car Racing【最短路变形+spfa算法,链式前向星建图】
- uva 12661 - Funny Car Racing
- Uva-12661-Funny Car Racing
- UVA 12661 Funny Car Racing
- UVa 12661 Funny Car Racing
- uva 12661 Funny Car Racing
- UVA 12661 Funny Car Racing
- UVA 12661Funny Car Racing
- UVA 12661 Funny Car Racing
- 文章标题 csu1333 :Funny Car Racing(最短路 spfa)
- COJ1333 Funny Car Racing最短路问题
- CSU 1333: Funny Car Racing 最短路
- POJ-2260 Error Correction 模拟
- windows安装gfrtran+codeblocks
- 第一章 欢迎来到Python世界
- shrink_zone_memcg
- 基于Quartz.Net框架封装任务调度类2
- UVA 12661 Funny Car Racing(最短路)
- 计算几何模板一(点、线段、直线)
- mysql数据库优化
- Linux配置静态IP,以及解决配置静态IP后无法上网的问题
- images2gif——用python将图片列表转换成GIF动图
- 蓝桥 大臣的旅费
- python调用ECMWF欧洲中心api下载数据
- 第二章 快速入门
- Android studio默认安装路径