这道题其实还是不难的,只是自己搞混了=-=//晕,做了好久啊,其实就是个spfa,关键是存储路径搞昏了。输出格式要求太严了,航模不能有空格啊,所以因为格式WA了三次,哭啊/(ㄒoㄒ)/~~。贴上代码吧=-=。

 const maxn=;
type
link=^node;
node=record
t,v,l:longint;
f:link;
end;
var n,m,s,t,v,l,i,j,toto,sp:longint;
dis:double;
adj:array[..] of link;
bl:array[..,..] of boolean;
f,speed:array[..] of longint;
go:array[..,..,..] of longint;
d:array[..,..] of double;
procedure insert(s,t,v,l:longint);
var p:link;
begin
new(p);
p^.f:=adj[s];
p^.t:=t;
p^.v:=v;
p^.l:=l;
adj[s]:=p;
end;
procedure spfa;
var p:link;
now,l,r,v:longint;
begin
for l:= to do
for r:= to n do d[l,r]:=maxn;
fillchar(bl,sizeof(bl),true);
l:=; r:=; d[,]:=; f[]:=; bl[,]:=false; go[,,]:=; speed[]:=;
while l<=r do
begin
now:=f[l];
v:=speed[l];
p:=adj[now];
while p<>nil do
begin
if p^.v<> then
begin
if d[v,now]+(p^.l/p^.v)<d[p^.v,p^.t] then
begin
d[p^.v,p^.t]:=d[v,now]+(p^.l/p^.v);
go[p^.v,p^.t,]:=now;
go[p^.v,p^.t,]:=v;
if bl[p^.v,p^.t] then
begin
bl[p^.v,p^.t]:=false;
inc(r);
f[r]:=p^.t;
speed[r]:=p^.v;
end;
end;
end
else begin
if d[v,now]+(p^.l/v)<d[v,p^.t] then
begin
d[v,p^.t]:=d[v,now]+(p^.l/v);
go[v,p^.t,]:=now;
go[v,p^.t,]:=v;
if bl[v,p^.t] then
begin
bl[v,p^.t]:=false;
inc(r);
f[r]:=p^.t;
speed[r]:=v;
end;
end;
end;
p:=p^.f;
end;
inc(l);
bl[v,now]:=true;
end;
end;
procedure print(x,v:longint);
begin
if (x<>) then print(go[v,x,],go[v,x,]);
if x<>toto then write(x-,' ')
else write(x-);
end;
begin
readln(n,m,toto);
inc(toto);
for i:= to m do
begin
readln(s,t,v,l);
insert(s+,t+,v,l);
end;
spfa;
dis:=maxn;
for i:= to do
if d[i,toto]<dis then
begin
dis:=d[i,toto];
sp:=i;
end;
print(toto,sp);
end.

(转载请注明出处:http://www.cnblogs.com/Kalenda/)

P3245: 最快路线的更多相关文章

  1. BZOJ 3245: 最快路线 spfa

    3245: 最快路线 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=3245 Description 精明的小R每每开车出行总是喜欢走最快 ...

  2. BZOJ3245:最快路线(最短路)

    Description 精明的小R每每开车出行总是喜欢走最快路线,而不是最短路线.很明显,每条道路的限速是小R需要考虑的关键问题.不过有一些限速标志丢失了,于是小R将不知道能开多快.不过有一个合理的方 ...

  3. [图论训练]BZOJ 3245: 最快路线【最短路】

    Description 精 明的小R每每开车出行总是喜欢走最快路线,而不是最短路线.很明显,每条道路的限速是小R需要考虑的关键问题.不过有一些限速标志丢失了,于是小R将不知 道能开多快.不过有一个合理 ...

  4. [BZOJ3245]最快路线

    Description 精明的小R每每开车出行总是喜欢走最快路线,而不是最短路线.很明显,每条道路的限速是小R需要考虑的关键问题.不过有一些限速标志丢失了,于是小R将不知道能开多快.不过有一个合理的方 ...

  5. BZOJ 3245 最快路线

    和道路升级差不多,只是用的spfa; 十分有毒,在BZOJ上一直WA,对拍拍出来是一样的却告诉我不一样,然后发现自己把'\n'写成了‘\b’... #include<cstdio> #in ...

  6. NOIP 考前 图论练习

    LJOJ 1500: 题目:http://www.docin.com/p-601990756.html Sol:贪心,从叶子结点往上加入无法传递了,就需要建设. Dfs返回的是到达叶子节点最多所要的能 ...

  7. WebGIS在行业中应用的演变

    结合我本身的项目及WebGIS在公检法行业中的应用,对此作了一个演变过程的总结:         第一阶段:GIS基本功能的应用:Data Show(数据展示):Search(搜索):Search b ...

  8. 算法导论——lec 11 动态规划及应用

    和分治法一样,动态规划也是通过组合子问题的解而解决整个问题的.分治法是指将问题划分为一个一个独立的子问题,递归地求解各个子问题然后合并子问题的解而得到原问题的解.与此不同,动态规划适用于子问题不是相互 ...

  9. PTA天梯 L3-007 天梯地图

    L3-007 天梯地图 题目: 本题要求你实现一个天梯赛专属在线地图,队员输入自己学校所在地和赛场地点后,该地图应该推荐两条路线:一条是最快到达路线:一条是最短距离的路线.题目保证对任意的查询请求,地 ...

随机推荐

  1. linux 内核(驱动)常用函数

    2.4.1 内存申请和释放 include/linux/kernel.h里声明了kmalloc()和kfree().用于在内核模式下申请和释放内存.    void *kmalloc(unsigned ...

  2. Shiro使用总结

    Shiro已经添加到项目中,现阶段管理两个功能: 1.身份验证:(已经能够满足现阶段需求) 2.权限管理: 权限管理,需要在界面中加一些标签,后台角色.资源的管理也需要整理好,然后在前端添加管理. 1 ...

  3. Android WebRTC 音视频开发总结(一)

    本系列文章主要总结和分享WebRTC开发过程中的一些经验,转载请说明出处(博客园RTC.Blacker),更多交流与合作请看页面上方的子标题! 一.WebRTC是什么? 可能您还不知道WebRTC是什 ...

  4. 语音分享应用ios源码

    该源码是语音分享应用源码,本demo使用了科大讯飞语音识别作为分享内容的输入方式,同时也支持手动键盘输入分享内容,限制分享内容文字不能超过180个字符,分享内容输入完成后可以直接分享,分享SDK使用的 ...

  5. 极速地将git项目部署到SAE的svn服务器上

    本文最初发布于我的个人博客:http://jerryzou.com/posts/gitForSAE/ 我花了一些时间自己写了一个能够极速地将一个git项目部署到SAE的svn服务器上的脚本.代码不是复 ...

  6. jquery图片轮播,单张图片轮播时间不同

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. NodeJs 中的Crypto 加密模块

    加密技术通常分为两大类:“对称式”和“非对称式”. 对称式加密: 就是加密和解密使用同一个密钥,通常称之为“Session Key ”这种加密技术在当今被广泛采用,如美国政府所采用的DES加密标准就是 ...

  8. Hide a Subpage Using PeopleCode

     There was a question asked on the forum on how to hid a subpage. There is no Peoplecode function to ...

  9. 分析MapReduce执行过程

    分析MapReduce执行过程 MapReduce运行的时候,会通过Mapper运行的任务读取HDFS中的数据文件,然后调用自己的方法,处理数据,最后输出. Reducer任务会接收Mapper任务输 ...

  10. Python学习教程(learning Python)--3.3.3 Python逻辑关系表达式

    在if分支判断语句里的条件判断语句不一定就是一个表达式,可以是多个(布尔)表达式的组合关系运算,这里如何使用更多的关系表达式构建出一个比较复杂的条件判断呢?这里需要再了解一下逻辑运算的基础知识.逻辑关 ...