摘要:
http://poj.org/problem?id=2457题意:求起点1到终点m的最短距离。这个可以spfa||dijkstra。这题关键的是要输出从1--m走过的路径。用path[]记录下,每一步的祖先,用shortest[]逆序输出即可。这题re了n次。到现在也不理解,为什么先if(dis[m]==INF){//为什么先判断就不会re.不明白 printf("-1\n"); continue; }这个就没问题。View Code // I'm lanjiangzhou//C#include <stdio.h>#include <s... 阅读全文
posted @ 2013-04-02 17:19
南下的小程序员
阅读(241)
评论(0)
推荐(0)
摘要:
题意:求各个点到起点1的距离是否<=m,满足的话,就按从小大到的顺序输出结果。分析:dijkstra。求起点到各个点的最短距离和m判断一下就行了。坑爹的是我wa了13次。就是在一个下标出问题的,白白费了4个小时。不认真。就是下面的sum.原因自己分析。嗨,死在这里了。我把i放在coutnts[]里面了,原因还要说吗????View Code // I'm lanjiangzhou//C#include <stdio.h>#include <stdlib.h>#include <string.h>#include <ctype.h># 阅读全文
posted @ 2013-04-02 17:11
南下的小程序员
阅读(147)
评论(0)
推荐(0)
摘要:
http://poj.org/problem?id=1847题意:这题关键是题意理解了就会做了。大致题意:现在有一铁路网络,有n个交叉点,和一些开关。通过开关可以改变路线方向,使其能驶向其他交叉点。开关的初始状态已知,即(初始直接某两点直接相连)。A到B.问从出发点到目的地最少要动多少开关才能到达。分析:想想就会发现是最短路问题。假如要从1--3如果有直接连接的边则不要动开关,如果要通过1-2,2-3则需要懂开关一次。这题就是找从出发点到目的地最少要动多少开关才能到达。算法:dijkstra||floyd都行。这里用floyd,反正数据不大才100.不过要改下状态方程。接存在的边权设为0,间接 阅读全文
posted @ 2013-04-02 16:52
南下的小程序员
阅读(169)
评论(0)
推荐(0)
摘要:
http://poj.org/problem?id=1511题意:(图论147)。求从起点到各个点的最短回路。分析:用两次spfa就行了。第一次spfa是从出发点start到各个点,求一次最短距离,第二次spfa是从各个点反向求到出发点的最短距离。处理:第一次spfa只要保存正向边,第二次用反向边进行spfa就可以了。最后把两次求得的距离相加就是最短回路。View Code // I'm the Topcoder//C#include <stdio.h>#include <stdlib.h>#include <string.h>#include &l 阅读全文
posted @ 2013-04-02 16:30
南下的小程序员
阅读(304)
评论(0)
推荐(0)

浙公网安备 33010602011771号