最短路 向右看齐 2024-02-18 22:54 61阅读 0赞 <table> <tbody> <tr> <td> <h2>最短路</h2> <strong>Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)<br> Total Submission(s): 88731 Accepted Submission(s): 38407</strong><br><br> <p>Problem Description</p> <p>在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt。但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你可以帮助他们吗?<br> </p> <p> </p> <p>Input</p> <p>输入包括多组数据。每组数据第一行是两个整数N、M(N<=100,M<=10000),N表示成都的大街上有几个路口,标号为1的路口是商店所在地,标号为N的路口是赛场所在地,M则表示在成都有几条路。N=M=0表示输入结束。接下来M行,每行包括3个整数A,B,C(1<=A,B<=N,1<=C<=1000),表示在路口A与路口B之间有一条路,我们的工作人员需要C分钟的时间走过这条路。<br> 输入保证至少存在1条商店到赛场的路线。</p> <p> </p> <p>Output</p> <p>对于每组输入,输出一行,表示工作人员从商店走到赛场的最短时间</p> <p> </p> <p>Sample Input</p> <pre> </pre> <p>2 1 1 2 3 3 3 1 2 5 2 3 5 3 1 2 0 0</p> <p> </p> <p>Sample Output</p> <pre> </pre> <p>3 2</p> <p> </p> <p>Source</p> <p><a href="http://acm.hdu.edu.cn/search.php?field=problem&key=UESTC+6th+Programming+Contest+Online&source=1&searchmode=source" rel="nofollow">UESTC 6th Programming Contest Online </a></p> <p> </p> <p>Recommend</p> </td> </tr> </tbody> </table> \#include<iostream> \#include<string.h> \#include<algorithm> \#include<cstdio> using namespace std; int map\[1001\]\[1001\],low\[10001\],pre\[10001\]; struct kk \{ int s,e,w; \}s\[10001\]; int DJS(int ve,int n) \{ bool v\[10001\]; int i,j; for(i=1;i<=n;i++) \{ low\[i\]=map\[ve\]\[i\]; v\[i\]=false; if(low\[i\]==0x3f3f3f3f) pre\[i\]=-1; else pre\[i\]=ve; \} low\[ve\]=0; v\[ve\]=true; for(i=2;i<=n;i++) \{ int min=0x3f3f3f3f,pos=ve; for(j=1;j<=n;j++) \{ if(!v\[j\]&&low\[j\]<min) \{ min=low\[j\]; pos=j; \} \} v\[pos\]=true; for(j=1;j<=n;j++) \{ if(!v\[j\]&&map\[pos\]\[j\]<0x3f3f3f3f) \{ if(low\[pos\]+map\[pos\]\[j\]<low\[j\]) \{ low\[j\]=low\[pos\]+map\[pos\]\[j\]; pre\[j\]=pos; \} \} \} \} return low\[n\]; \} int main() \{ //freopen("1.txt","r",stdin); int n,m,i,j,t=0,k,v0,ve; while(~scanf("%d%d",&n,&m),n||m) \{ k=0; int max=0; memset(map,0x3f3f3f3f,sizeof(map)); memset(s,0x3f3f3f3f,sizeof(s)); for(i=1;i<=m;i++) \{ scanf("%d%d%d",&s\[i\].s,&s\[i\].e,&s\[i\].w); if(s\[i\].w<map\[s\[i\].s\]\[s\[i\].e\]) \{ map\[s\[i\].s\]\[s\[i\].e\]=map\[s\[i\].e\]\[s\[i\].s\]=s\[i\].w; \} \} cout<<DJS(1,n)<<endl; \} return 0; \}
相关 最短路 <table> <tbody> <tr> <td> <h2>最短路</h2> <strong>Time Limit: 5000/1000 MS (Java/O 向右看齐/ 2024年02月18日 22:54/ 0 赞/ 62 阅读
相关 最短路 \[hdu 1599\] ([http://acm.hdu.edu.cn/showproblem.php?pid=1599][http_acm.hdu.edu.cn_showp 红太狼/ 2022年08月04日 08:28/ 0 赞/ 179 阅读
相关 C--最短路 Problem Description 给出一个带权无向图,包含n个点,m条边。求出s,e的最短路。保证最短路存在。 Input 多组输入。 对于每组数据。 以你之姓@/ 2022年07月12日 08:26/ 0 赞/ 138 阅读
相关 最短路 队列+松弛操作 读取队头顶点u,并将队头顶点u出队(记得消除标记);将与点u相连的所有点v进行松弛操作,如果能更新估计值(即令d\[v\]变小),那么就更新,另外,如果 忘是亡心i/ 2022年06月11日 04:06/ 0 赞/ 224 阅读
相关 最短路 一下模板均已通过HDUOJ 2544 程序设计竞赛队空间和时间复杂度要求都很高,所以朴素的Dijkstra[算法][Link 1]无论时间还是空间,效率都很低。 所以,一般 淡淡的烟草味﹌/ 2022年06月09日 04:28/ 0 赞/ 259 阅读
相关 最短路径(Dijkstra)-HDU 2544-最短路 最短路径(Dijkstra)-HDU 2544-最短路 -------------------- 题目链接: [最短路][Link 1] 亦凉/ 2022年05月14日 03:38/ 0 赞/ 233 阅读
相关 最短路 最短路 典型用途:交通网络的问题——从甲地到乙地之间是否有公路连通?在有多条通路的情况下,哪一条路最短? 交通网络用有向网来表示:顶点——表示城市,弧——表示两个城 淡淡的烟草味﹌/ 2022年03月18日 12:35/ 0 赞/ 275 阅读
相关 最短路 Floyed [http://codevs.cn/problem/1077/][http_codevs.cn_problem_1077] include<cstdi ﹏ヽ暗。殇╰゛Y/ 2021年11月18日 00:30/ 0 赞/ 310 阅读
相关 最短路 复习下图论算法 1. 邻接表的Dijkstra ![ContractedBlock.gif][] ![ExpandedBlockStart.gif][] / 冷不防/ 2021年11月02日 14:24/ 0 赞/ 467 阅读
相关 HDU 2544 最短路 最短路 时间限制:5000/1000 MS(Java / Others)内存限制:32768/32768 K(Java /其他) 提交总数:106773接受提交内容: 桃扇骨/ 2021年10月18日 08:20/ 0 赞/ 344 阅读
还没有评论,来说两句吧...