6-17 Shortest Path [2](25 point(s))(dijkstra)

c编写 Shortest Path [3] Shortest Path [3]   (10分) Write a program to not only find the weighted shortest distances, but also count the number of different minimum paths from any vertex to a given source vertex in a di 阅读详情
6-17 Shortest Path [2](25 point(s))

Write a program to find the weighted shortest distances from any vertex to a given source vertex in a digraph. It is guaranteed that all the weights are positive.

Format of functions:

void ShortestDist( MGraph Graph, int dist[], Vertex S );

where MGraph is defined as the following:

typedef struct GNode *PtrToGNode;
struct GNode{
    int Nv;
    int Ne;
    WeightType G[MaxVertexNum][MaxVertexNum];
};
typedef PtrToGNode MGraph;

The shortest distance from V to the source S is supposed to be stored in dist[V]. If V cannot be reached from S, store -1 instead.

Sample program of judge:

#include <stdio.h>
#include <stdlib.h>

typedef enum {false, true} bool;
#define INFINITY 1000000
#define MaxVertexNum 10  /* maximum number of vertices */
typedef int Vertex;      /* vertices are numbered from 0 to MaxVertexNum-1 */
typedef int WeightType;

typedef struct GNode *PtrToGNode;
struct GNode{
    int Nv;
    int Ne;
    WeightType G[MaxVertexNum][MaxVertexNum];
};
typedef PtrToGNode MGraph;

MGraph ReadG(); /* details omitted */

void ShortestDist( MGraph Graph, int dist[], Vertex S );

int main()
{
    int dist[MaxVertexNum];
    Vertex S, V;
    MGraph G = ReadG();

    scanf("%d", &S);
    ShortestDist( G, dist, S );

    for ( V=0; V<G->Nv; V++ )
        printf("%d ", dist[V]);

    return 0;
}

/* Your function will be put here */

Sample Input (for the graph shown in the figure):

7 9
0 1 1
0 5 1
0 6 1
5 3 1
2 1 2
2 6 3
6 4 4
4 5 5
6 5 12
2

Sample Output:

-1 2 0 13 7 12 3

题意有点小问题,实际上是求s到其他各点的距离,迪杰斯特拉就可以
code:
//迪杰斯特拉算法求最短路
void ShortestDist( MGraph Graph, int dist[], Vertex S ){
    int book[MaxVertexNum];//标记数组
    int i,j,k;
    for(j = 0; j < Graph->Nv; j++){
        book[j] = 0;
        dist[j] = Graph->G[S][j];
    }//初始化
    book[S] = 1;
    dist[S] = 0;//一开始忘了初始化起点,导致一直错
    for(j = 0; j < Graph->Nv-1; j++){//迪杰斯特拉算法
        int min = INFINITY;
        int u = -1;
        for(k = 0; k < Graph->Nv; k++){
            if(book[k]==0&&dist[k]<min){//找到最小值
                min = dist[k];
                u = k;
            }
        }
        if(u==-1)break;//如果u不变说明没有可以松弛的边了
        book[u] = 1;//加入,表示完成松弛的边
        for(k = 0; k < Graph->Nv; k++){//以刚找到的值为中间点判断能否继续松弛
            if(!book[k]&&dist[k]>dist[u]+Graph->G[u][k]){//注意!!这里判断条件
                dist[k]=dist[u]+Graph->G[u][k];//必须必须有book[k]==0这个,否则是段错误
            }
            
        }
    }
    for(i = 0; i < Graph->Nv; i++){
        if(dist[i]==INFINITY)dist[i] = -1;//无穷大赋值为-1
    }
}

 
优必选算法岗秋招笔试全解析:SLAM、路径规划与编程题备考攻略 在机器人算法工程师的招聘中,数据结构、机器学习与机器人专业知识共同构成考核核心。从KMP匹配、动态规划到卡尔曼滤波与A*搜索,笔试题目强调算法与物理世界约束的深度结合,考察候选人能否将理论应用于真实机器人系统。这类考核既能筛选出具备扎实算法功底的人才,也检验其对SLAM、路径规划、运动控制等方向的理解。以优必选2023年算法岗秋招为例,笔试涵盖选择题、编程题与简答题,其中编程题常加入转弯代价、动态障碍物等现实条件,要求候选人灵活扩展经典算法。本文拆解笔试模块、高频考点与避坑策略,为备战机器人算法岗的求职者提 阅读详情

相关推荐

未来新城交通可达性建模:从呼吸节奏到有效可达率

城市交通可达性是智慧城市规划与交通工程的核心基础概念,其本质是时空耦合下人、设施与路网的动态响应关系。传统‘步行500米覆盖率’等静态指标忽视物理阻隔、时间成本与服务品质,导致规划失真;而基于手机信令、GIS与网络分析的动态可达率建模,可量化需求脉冲、供需相位差与功能混合度,支撑精准诊断与可解释干预。本文聚焦‘未来新城’典型场景,融合GeoPandas空间分析、NetworkX路网建模与Statsmodels异质性回归,构建‘空间—时间—干预’三层逻辑链,将抽象规划指标转化为可测量、可追溯、可落地的有效可达

weixin_34117211的博客 350

最短路径问题(1)

作为一名小白,最近学习了Dijkstra算法,对于最短路径的解有了一定的认识,从PTA的题目来说明Dijkstra算法 4-1 Shortest Path [3]   (25分) Write a program to not only find the weighted shortest distances, but also count the number of differen

csucbMIT的博客 2022

NetworkX图优化实战:从建模到部署的工程化工作流

图优化是将现实世界关系(如物流路径、社交影响、电路布线)转化为可计算图结构并求解最优配置的核心技术。其本质是在拓扑约束下最小化业务目标函数,依赖图的节点/边属性建模、动态子图构建与数值优化协同。NetworkX 作为轻量级图结构操作系统,凭借与 NumPy、SciPy、Pandas 的深度集成能力,支撑从初始化毛坯图、定义‘什么是好’、调用优化器迭代求解,到结果可解释注入的完整闭环。相比图数据库,它更适配中小规模(10万节点内)、强业务耦合、需快速验证的场景,是算法落地与MVP迭代的关键基础设施。

weixin_33933118的博客 302

6-1 Shortest Path [3]

Shortest Path 3 (10分) Write a program to not only find the weighted shortest distances, but also count the number of different minimum paths from any vertex to a given source vertex in a digraph. It...

weixin_43301333的博客 1328

【信息科学与工程学】【通信工程】第一百五十五篇 SRv6/SDN网络中的算法01

1 确定性路由算法 SRv6 控制平面 显式路径计算 SRv6段列表优化算法 1. 输入:源节点S,目标节点D,约束条件集合C={c₁,...,cₘ}<br>2. 构建有向图G(V,E),V为节点集

weixin_49199313的博客 253

【信息科学与工程学】【通信工程】计算机科学与自动化——第二百三十三篇 云NaaS服务 系列二01

国家骨干网(含核心网、IP骨干网、OTN骨干网)/城域网【含3G/4G/5G接入网/PON接入网/OTN接入网+OTN/IP城域网+其他】/中心云(多/双/单Region+多AZ/双AZ/单AZ)+边缘DC+边缘计算节点+端计算节点包括IoT传感器、移动终端、CPE设备。通过5G NR(n78频段,带宽100MHz,子载波间隔30kHz)或GPON(下行2.5Gbps,上行1.25Gbps)接入。本地缓存小于10GB,主要用于临时数据暂存。位于地市级机房,部署MEC服务器(Intel Xeon Platin

weixin_49199313的博客 1326

6-17 Shortest Path [2](25 分)

Write a program to find the weighted shortest distances from any vertex to a given source vertex in a digraph. It is guaranteed that all the weights are positive. Format of functions: void Short...

weixin_30886233的博客 543

CBS算法在多AGV动态调度中的冲突消解与工程落地

多AGV协同调度本质是时空资源的动态分配问题,其核心挑战在于实时路径规划中频繁发生的时空冲突。CBS(Conflict-Based Search)作为一种分层约束搜索方法,通过构建冲突约束树实现全局协调与局部修复的统一,在保证路径可行性的同时支持增量重规划与毫秒级响应。相比传统A*或Dijkstra等单智能体算法,CBS天然适配工业场景下的动态障碍、时钟漂移、运动学失配等真实约束,技术价值体现在可中断性、约束传播效率与系统韧性三方面。典型应用场景包括汽车产线柔性物流、密集仓储搬运及数字孪生驱动的闭环调度系统

weixin_33393017的博客 262

4-1 Shortest Path [3]

question from ptaWrite a program to not only find the weighted shortest distances, but also count the number of different minimum paths from any vertex to a given source vertex in a digraph. It is guar

Isaacle的博客 621

查找关键路径(shortest path)

查找关键路径(shortest path)

全球最大光伏电池缺陷异常检测数据集PVELAD【发布】

下载地址 1:GitHub - binyisu/PVEL-AD 下载地址 2:http://aihebut.com/col.jsp?id=118 下载地址 3:NAVEDownload 竞赛测试系统:Photovoltaic cell anomaly detection | Kaggle 一、简介 PVEL-AD 数据集又叫做EL2021数据集是用于对光伏电池异常缺陷检测方法进行基准测试的数据集,重点是光伏电池工业检测。PVEL-AD包含 36,543 张具有各种内部缺陷和异构背...

苏打水的杯子的博客 2万+

poj 2449...naked point-to-point k-th shortest path...

#include <stdio.h> #include <string.h> #include <queue> using namespace std; const int INF = 0x7fffffff; const int NIL = -1; const int MAXN = 1005; const int MAXM = 1000...

weixin_30500663的博客 81

(53页PPT)新型智慧病房整体解决方案(附下载方式)

当前医疗场景存在三大核心矛盾:院内感染风险(如输液异常发现滞后)、信息孤岛现象(11类业务系统数据割裂)、管理效能不足(30%护理时间耗费在机械性工作)。实际案例显示,整体运营效率提升40%,患者满意度提高28个百分点,真正实现了"让技术有温度,让数据会说话"的价值理念。本文将从需求分析、技术架构、应用场景三个维度,深度剖析这份53页解决方案的创新价值与实践路径。床旁智能终端整合12项功能:包括体征自动采集(误差率<1%)、医嘱执行核对(100%条码校验)、智能床垫离床报警(响应时间3秒)等。

AI_data_cloud的博客 715

POJ-1556 判断相交+dijkstra

Description You are to find the length of the shortest path through a chamber containing obstructing walls. The chamber will always have sides at x = 0, x = 10, y = 0, and y = 10. The initial and fina...

刷题记录 199

【Unity】制作简易三维场景

本文介绍如何制作一个三维场景

CiNian_的博客 5331

Qt6导入QtChart绘制图表(添加组件)

我在按照大佬们的说明添加QtChart时发现,我的电脑上并不能正确的添加QtChart并编译通过,所以在综合了两位大佬的说明又自己探索了一番后,正确编译通过,分享出来,以便同志们节省一些时间。

Nuaa0719301zyx的博客 2950

基于开源GIS与pgRouting构建城市路网通行时间分析系统实战

地理信息系统(GIS)与网络分析是处理空间数据与复杂关系的核心技术。其原理在于将现实世界的地理实体(如道路)抽象为带有拓扑属性的网络图模型,通过图论算法(如Dijkstra算法)计算最短路径或可达范围。这项技术的核心价值在于将海量、异构的空间数据转化为可量化、可计算的分析结果,为决策提供科学依据。在智能交通、物流规划、设施选址等应用场景中,通行时间分析是评估可达性与效率的关键环节。本文聚焦于利用PostGIS、pgRouting等开源技术栈,构建一个从数据导入、网络建模、静态/动态通行时间计算到Web可视化

weixin_30301449的博客 426

杰理JL701N V142的SDK实现双备份自定义OTA教程和代码分享

摘要 本文档详细介绍了基于JL701N SDK的UART OTA升级功能开发方案。该方案采用双备份(Dual Bank)机制,通过串口实现安全可靠的固件远程更新。核心特性包括:1) 双备份升级机制确保升级失败可回滚;2) CRC-16/XMODEM校验保障数据完整性;3) 灵活的传输控制,支持自定义波特率和数据包大小。文档提供了完整的系统架构、API接口说明、通信协议规范以及移植指南,适用于生产烧录、现场升级等多种场景。配套Python升级工具简化了升级流程,使开发人员能够快速实现固件更新功能。

qq_42014563的博客 275

钢板切割路径优化:从TSP到GTSP的建模与启发式算法实践

组合优化是运筹学和工业工程中的核心领域,旨在从有限的选择中找到最优决策方案。其经典问题之一是旅行商问题(TSP),即寻找访问一系列城市并返回起点的最短回路。然而,许多实际工程问题,如工业切割、物流配送和电路板钻孔,往往比标准TSP更复杂,涉及对“对象簇”而非单个点的访问,这便引出了广义旅行商问题(GTSP)。GTSP将顶点划分为多个簇,要求路径访问每个簇恰好一次,其求解难度更高,属于NP-Hard问题。为解决此类问题,常采用图论建模方法,将连续空间离散化为可视性图以处理障碍物约束,并运用两阶段法、遗传算法等

weixin_30471561的博客 400

详解AXI4-Lite接口(3)--AXI4-Lite接口IP源码仿真及分析(Master接口)

通过本文您会学到:1、了解AXI4-Lite_Master接口的逻辑实现;2、加深Xilinx IP、仿真工具的使用;3、提高阅读时序图的能力。

孤独的单刀 6445

AI Agent的知识蒸馏链:多阶段LLM模型优化

随着大语言模型(LLM)规模的不断扩大,如何在保持模型性能的同时提高其部署效率成为关键挑战。本文旨在探讨通过知识蒸馏技术构建多阶段优化链,实现LLM模型的高效压缩和性能优化。研究范围涵盖从基础理论到实际应用的完整知识蒸馏流程,特别关注AI Agent场景下的特殊需求和解决方案。本文首先介绍知识蒸馏的基本概念和背景,然后详细阐述多阶段蒸馏链的核心原理。接着,我们将深入探讨算法实现细节和数学模型,提供完整的代码示例。最后讨论实际应用、工具资源和未来发展方向。

AI大模型应用之禅 350

数学建模思维转型:从解题到构建混合整数规划模型实战

数学建模是一种将现实世界复杂问题抽象为数学问题,并通过模型求解以指导决策的核心方法。其基本原理在于通过定义变量、约束和目标函数,构建一个能反映系统关键特征的数学框架。这项技术的价值在于将模糊的实际问题转化为可量化、可分析和可优化的形式,从而在资源分配、路径规划、设施选址等场景中提供科学依据。例如,在解决社区垃圾站选址与车辆调度这类组合优化问题时,混合整数规划模型能有效权衡固定建设成本与可变运输成本。本文以该典型场景为例,结合特征工程与优化求解器,详细拆解了从问题抽象到模型求解与结果可视化的全流程,为掌握数学

weixin_30421809的博客 349

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

【剑指紫金港】1030 Travel Plan Dijsktra+路径筛选记录

A 1030 Travel Plan(模板题) 题目链接 Problem Description A traveler’s map gives the distances between cities along the highways, together with the cost of each highway. Now you are supposed to write a program to help a traveler to decide the shortest path between

征服所有不服的博客 149

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

迪杰斯特拉与贝尔曼-福特算法:数学建模中的最短路径选择指南

最短路径问题是图论中的核心概念,用于在由节点和边构成的网络中寻找两点间的最优路线。其基本原理是通过迭代更新节点的距离估计值,逐步逼近全局最优解。该技术在工程领域具有重要价值,能显著提升资源调配与网络传输的效率。典型应用场景包括物流配送的路线规划、通信网络的数据路由以及金融交易中的套利检测。本文聚焦于迪杰斯特拉和贝尔曼-福特这两种经典算法,深入剖析其分别基于贪心策略与动态规划的核心原理,并针对数学建模中常见的正权图与含负权边的场景,提供清晰的算法选型依据和可直接复用的Python代码实现,帮助读者在类似“清风

weixin_34204722的博客 371

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

图论如何驱动可持续发展:从物流优化到生态修复的实战指南

图论是研究离散对象间连接关系的数学基础,其核心概念如顶点、边、连通性与最短路径,天然适配可持续发展系统中物质流、能量流和信息流的建模需求。相比微分方程的连续假设、统计模型的黑箱特性或线性规划的刚性约束,图论以拓扑结构为锚点,提供可解释、可验证、可落地的系统诊断与优化能力。它支撑绿色物流路径规划、能源微网韧性评估、生态修复物种引入顺序决策等关键场景,将‘谁连着谁’这一朴素问题转化为碳减排17%、修复周期缩短23%的真实成效。本文聚焦图论在环境系统中的工程化落地,详解实体映射、属性赋值与性质解读三步法。

weixin_33795743的博客 443
上一篇: Beat the Spread! POJ - 2301 (水题)
下一篇: 6-18 Two Stacks In One Array(20 point(s))
Guuuuuu老师儿
博客等级 码龄9年 259粉丝 718原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值