Funny Car Racing UVA
来源:互联网 发布:淘宝网首页官网打底杉 编辑:程序博客网 时间:2024/06/05 04:36
比赛题目,当时其实按照我的做法去写就写出来了,可是由于不该浪的时候在浪,所以就把自己的结论给推翻了,这么多人没做出来以为这道题很难,其实是简单*********
最短路的dis数组记录的当前最短路,也就是当前的时间,根据当前的时间你可以去确定从这点出发到联通路的数值,这不就是一个裸的最短路啊。只需要在更新的时候判断一下权值就可以了啊。哎,辛亏是平时训练赛,区域赛一定不能这样。
#include<stdio.h>#include<algorithm>#include<queue>using namespace std;const int M=400+10;int pre[M],vis[M],cnt,kase=1;long long dis[M];struct aa{ int u,v,w,next,a,b;} edge[50086];void add(int u,int v,int a,int b,int w){ edge[cnt].u=u; edge[cnt].v=v; edge[cnt].w=w; edge[cnt].a=a; edge[cnt].b=b; edge[cnt].next=pre[u]; pre[u]=cnt++;}void spfa(int s,int e){ queue<int>ycq; dis[s]=0; vis[s]=1; ycq.push(s); while(!ycq.empty()) { int u=ycq.front(); ycq.pop(); vis[u]=0; for(int i=pre[u]; i!=-1; i=edge[i].next) { int v=edge[i].v; int w=edge[i].w; int a=edge[i].a; int b=edge[i].b; int p=dis[u]%(a+b); if(p<=a)//处于开区间内 { if(a-p<w)//可以过得去 { w=w+a+b-p; } } else// { w=w+a+b-p; } //printf("%d %d %d\n",u,v,w); if(dis[u]+w<dis[v]) { dis[v]=dis[u]+w; if(!vis[v]) { vis[v]=1; ycq.push(v); } } } } printf("Case %d: %lld\n",kase++,dis[e]);}int main(){ int n,m,s,t; while(scanf("%d%d%d%d",&n,&m,&s,&t)!=EOF) { cnt=0; for(int i=0; i<=n; i++) { vis[i]=0; dis[i]=99999999999999999; pre[i]=-1; } int u,v,a,b,w; for(int i=0; i<m; i++) { scanf("%d%d%d%d%d",&u,&v,&a,&b,&w); if(a>=w) { add(u,v,a,b,w); } } spfa(s,t); }}
阅读全文
0 0
- Funny Car Racing UVA
- Funny Car Racing UVA
- Funny Car Racing UVA
- 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
- UVA 12661 Funny Car Racing(最短路)
- uva 12661 funny car racing dijkstra变形
- Funny Car Racing
- Funny Car Racing CSU
- UVa #12661 Funny Car Racing (例题11-11)
- UVA 12661 Funny Car Racing(最短路)
- UVA 12661 Funny Car Racing(最短路)
- 如何在Java中使用双重检查锁实现单例
- Android中解析XML
- GalaxyOJ-37 (Tarjan+缩点)
- cartographer源码分析(23)-sensor-voxel_filter.h
- Jsp中的四个域对象
- Funny Car Racing UVA
- 快速排序
- imp/exp 导出导入含有CLOB,BLOB大字段的表出现问题解决办法
- python求解比一个给定的数字大的最小对称数
- 昂贵的聘礼(dijkstra)
- 尺取法--cf701c They are everywhere
- 想提高团队技术,来试试这个套路! (作为个人提高的套路也行呢)
- iOS动画-来回切换多张图片产生动态效果
- 【dp】codeforces 830-A Office Keys