最短路径问题【 HDU - 3790 】

SAP FICO实操:如何修改已发生业务数据的成本中心公司代码(附RKACOR06程序运行指南) 本文详细解析了SAP FICO系统中使用RKACOR06程序修改已发生业务数据的成本中心和公司代码的实操方法。通过实战案例分享,提供从前期准备到后期验证的全流程指南,帮助企业应对组织架构重组或财务核算体系调整时的数据迁移挑战,特别适用于跨公司代码的成本中心划转场景。 阅读详情

给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的。

Input

输入n,m,点的编号是1~n,然后是m行,每行4个数 a,b,d,p,表示a和b之间有一条边,且其长度为d,花费为p。最后一行是两个数 s,t;起点s,终点。n和m为0时输入结束。
(1<n<=1000, 0<m<100000, s != t)

Output

输出 一行有两个数, 最短距离及其花费。

Sample Input

3 2
1 2 5 6
2 3 4 5
1 3
0 0

Sample Output

9 11

题意:

求从起点到终点的最短距离以及花费,若有多种方案的话,选择花费最少的方案。需dijkstra求最短路,同时更新费用。

代码:

#include<cstdio>
#include<cstring>
#define inf 0x3f3f3f3f

int n,m; 
int a,b,c,d;
int mapp[1010][1010][2],book[1010],dis[1010][2];

int main()
{
    while(~scanf("%d%d",&n,&m)&&(n||m))
    {
        memset(mapp,inf,sizeof(mapp));
        memset(book,0,sizeof(book));
        for(int i=1; i<=n; i++)
            mapp[i][i][0]=mapp[i][i][1]=0;
            
        for(int i=1; i<=m; i++)
        {
            scanf("%d%d%d%d",&a,&b,&c,&d);
            if(c<mapp[a][b][0])
            {
                mapp[a][b][0]=c; //无向图存距离
                mapp[b][a][0]=c;
                mapp[a][b][1]=d; //无向图存花费
                mapp[b][a][1]=d;
            }
            else if(c==mapp[a][b][0]&&d<mapp[a][b][1])  //最小的花费
            {
                mapp[a][b][1]=d;
                mapp[b][a][1]=d;
            }
        }
        scanf("%d%d",&a,&b);  //起点,终点
        int k;
        for(int i=1; i<=n; i++)
        {
            dis[i][0]=mapp[a][i][0];  //a到各点的距离
            dis[i][1]=mapp[a][i][1];  //a到各点的花费
        }

        book[a]=1;
        dis[a][0]=dis[a][1]=0;
        for(int i=1; i<=n; i++)
        {
            int min1=inf,min2=inf;  //距离和花费的最小值
            for(int j=1; j<=n; j++)
            {
                if(!book[j]&&dis[j][0]<=min1&&dis[j][0]!=inf)  //选择最小值
                {
                    if(dis[j][0]==min1&&dis[j][1]<min2)  //相同距离下,选花费最少的
                    {
                        min2=dis[j][1];
                        k=j;
                    }
                    else if(dis[j][0]<min1)
                    {
                        min1=dis[j][0];
                        min2=dis[j][1];
                        k=j;
                    }
                }
            }
            if(min1==inf)
                break;
            book[k]=1;
            for(int j=1; j<=n; j++) //维护dis是最小的
            {
                if(!book[j]&&dis[j][0]>=min1+mapp[k][j][0]&&min1+mapp[k][j][0]<inf)
                {
                    if(dis[j][0]>min1+mapp[k][j][0])
                    {
                        dis[j][0]=min1+mapp[k][j][0];
                        dis[j][1]=min2+mapp[k][j][1];
                    }
                    else if(dis[j][0]==min1+mapp[k][j][0]&&dis[j][1]>min2+mapp[k][j][1])
                        dis[j][1]=min2+mapp[k][j][1];
                }
            }
        }
        printf("%d %d\n",dis[b][0],dis[b][1]);
    }
    return 0;
}

 

002、搭建你的第一个Agent开发环境:Python与核心库安装 在上一篇《Agent智能体开发入门:概念、应用与前景》中,我们描绘了Agent智能体的宏伟蓝图,理解了其作为“数字员工”的巨大潜力。然而,许多开发者在迈出第一步时,常常被复杂的依赖、版本冲突和晦涩的配置所劝退,空有想法却无从下手。这种感觉就像拿到了一张藏宝图,却找不到出发的港口。本文正是你的“启航指南”。我们将彻底解决这个痛点,通过一个清晰、可复现的流程,为你搭建一个专为Agent开发量身定制的Python环境。一个纯净、隔离的Python虚拟环境,避免项目间的“依赖地狱”。一套经过验证的核心工具链。 阅读详情

相关推荐

基于Matlab-Simulink的大林算法控制系统设计与振铃消除实验

本文详细介绍了基于Matlab-Simulink的大林算法控制系统设计与振铃消除实验。通过分析纯滞后系统的控制难题,探讨大林算法在工业控制中的应用优势,并提供Matlab-Simulink环境搭建、控制器D(z)设计、振铃消除及仿真实验的完整流程。文章还对比了大林算法与PID控制的性能差异,为工程实践提供参考。

dropout6artist的博客 795

HDU-3790-最短路径问题

HDU-3790-最短路径问题 http://acm.hdu.edu.cn/showproblem.php?pid=3790 单源最短路劲,更新路劲时要更新花费 #include #include #include #include using namespace std; #define INF 0x7fffffff int n,m; int map[1005][1005]; int co

菜鸟的程序人生 4758

Linux系统安装AutoDockTools、AutoGrid和AutoDock并实现分子对接(详细讲解)

linux系统为centos7.0 按照下面操作安装AutoDockTools(MGLTools) 1. 下载安装包,链接(https://ccsb.scripps.edu/mgltools/downloads/),我的linux系统是64位,下载红色标记源代码,拷贝入linux目标文件夹下。 2. shell终端进行安装: 1. 终端进入安装包所在文件夹,并获取root权限;赋予代码安装权限; cd /home/... #目标文件夹,根据目标程序文件位置进行更改 su #获

carlos_zhao的博客 1万+

hdu 3790 最短路径问题(dijkstra加强版)

hdu 3790 最短路径问题 http://acm.hdu.edu.cn/showproblem.php?pid=3790 ProblemDescription 给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的。 Input 输入n,m,点的编号是1~n,...

diansitao5461的博客 135

angular中访问本地json文件

先在assets文件夹下写一个json文件,这样在打完包之后也可以手动修改json文件内容 1、在需要访问本地json文件的ts文件里面引入 import{HttpClient}from'@angular/common/http'; 2、用ajax请求调用,我这里是用已经封装好的ajax请求调用 gethttp = ()=>{ var self = this self.ajax.getAjax("../../assets/server.json","g...

蜗牛~~ 1828

iOS安全攻防:从DarkSword漏洞利用链剖析到纵深防御实践

在移动安全领域,内存破坏漏洞(如堆溢出、释放后使用)是攻击者突破系统防线、实现远程代码执行和权限提升的核心技术原理。这些漏洞利用技术通过精心构造的攻击链,能够绕过沙箱、地址空间布局随机化等安全机制,最终威胁设备内核安全,其技术价值在于揭示了系统安全架构的潜在薄弱环节。在iOS应用开发与系统防护中,理解此类攻击链对于构建有效的纵深防御体系至关重要。应用场景涵盖从安全编码、网络通信加固到运行时应用程序自保护等多个层面。本文以DarkSword工具包为例,深入拆解其利用链,并分享如何通过内存安全实践、代码签名强化

weixin_30357231的博客 479

hdu 3790 最短路径问题

点击打开链接hdu 3790 思路:最短路+Dijkstra 分析:由于题目要求在最短路径的时候花费最少,那么这就是在做松弛操作的时候判断一下当前的选择的边的花费是不是最少的,那么这样就可以求出最少的花费。利用最短路的思想即可。 注意:这一题如果是用long long 会WA,用int AC。我被坑了好久,还是不懂为什么。 代码: #include&lt;iostream...

我是传奇 190

coze开发-5、给智能体添加“技能”

中间编排与技能组件 中间编排的定义 中间编排是指在智能体的构建过程中,使用一些工具对智能体进行协调和管理。通过这些工具,我们能够更好地实现智能体在特定业务场景中的应用。

andyyah晓波的博客 527

【最短路+最小费用】hdu 3790 最短路径问题

Source : hdu 3790 最短路径问题 http://acm.hdu.edu.cn/showproblem.php?pid=3790 Problem Description 给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的。 Input 输入n,m,点的编号是1~n,然后是m行

Hacker_vision 3188

Arduino应用——PWM控制直流电机风扇

Arduino应用——PWM控制直流电机风扇PWM原理实验器件功能描述如何改变文本的样式插入链接与图片实现代码生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 最近在使用arduino UNO开发板完成课程小作业。其中一个要求设计一个电风扇控制系统,要求能够通过PWM调节风扇的转速。期间搜索了许多例程和方法,但受限于器件,效果不

hypecycle的博客 2万+

092、多sensor帧同步在环视系统中的实现——基于瑞芯微RK3588的PPS同步与曝光同步方案

摘要: 本文探讨了瑞芯微RK3588平台在360环视系统中实现多摄像头帧同步的技术方案。针对环视拼接常见的动态场景错位问题,提出了PPS同步与曝光同步相结合的解决方案。通过GPIO硬件触发实现四路摄像头同步曝光,配合I2C全局曝光控制,将时间误差控制在0.5ms内。文章详细解析了RK3588设备树配置、内核驱动实现中的关键细节,包括同步信号处理、寄存器原子写入等核心技术点,并分享了量产中遇到的温度漂移、信号完整性等实际问题及解决方法。最终通过硬件整形和电源优化,将同步抖动控制在±5μs以内,有效解决了动态拼

zzfmlxs的博客 33

Hdu 3790 最短路径问题

Problem地址:http://acm.hdu.edu.cn/showproblem.php?pid=3790 这道题的题目已经说明了这道题是求最短路径的问题。 |(*′口`) 这道题在算法并不算很难,只是在处理细节上需要注意。(๑•̀ㅂ•́)و✧ 如在输入时:1->2 距离是3 费用是2       2->1 距离是1 费用是5       要取距离...

weixin_30550271的博客 104

线性自抗扰控制(LADRC)系统算法框图

NLADRC自抗扰控制从Simulink仿真到PLC控制实现_自抗扰控制器 simulink仿真-优快云博客本文介绍了如何将ADRC自抗扰控制算法从Simulink仿真应用到PLC控制中,包括Simulink框图、TD微分器模型、MATLAB函数的使用、SCL控制代码,以及非线性状态误差反馈控制率的实现。提供了详细的MATLAB仿真步骤和PLC源代码链接。ADRC自抗扰控制算法(含梯形图完整源代码和算法公式)_adrc算法-优快云博客。

RXXW_Dor的博客 1462

HDU3790 最短路径问题

问题链接:HDU3790 最短路径问题。 问题描述:参见上文。 问题分析:这是一个最优化的问题,也是一个单源最短路径问题,所有要用Dijkstra算法。 程序说明:图的表示主要有三种形式,一是邻接表,二是邻接矩阵,三是边列表。邻接矩阵对于结点多和边少的情况都不理想。程序中用邻接表存储图,即g[],是一种动态的存储。数组dist[]中存储单源(结点s)到各个结点...

weixin_33979745的博客 161

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

多相滤波器组实现信道化:原理、MATLAB代码与工程避坑指南

在软件无线电与雷达侦察等宽带信号处理场景中,如何将宽频带实时拆分为多路窄带信道是核心挑战。FFT作为经典频谱分析工具,在信道化应用中却面临计算冗余、频谱泄漏与信道串扰等问题。多相滤波器组通过将原型滤波器分解为多个子滤波器并结合FFT,实现高效信道化处理,在保证滤波性能的同时大幅降低计算量。本文从多相分解原理出发,推导其与FFT结合的数学基础,给出MATLAB完整实现代码,并围绕原型滤波器设计、抽取相位对齐、边界效应等工程细节总结避坑经验,帮助通信、雷达及电子侦察领域的算法工程师快速落地信道化接收机方案。

weixin_33851604的博客 176

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

hdu3790 最短路径问题

hdu3790 注意:1.有重边的情况。             2.要判断两种情况,路径相同时判断花费的多少。 #include #include #include #include #include #include #include #include #pragma comment(linker,"/STACK:102400000,102400000") using name

Infinite振 770

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

HDU - 3790 最短路径问题(Dijsktra)

Description 给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的。 Input 输入n,m,点的编号是1~n,然后是m行,每行4个数 a,b,d,p,表示a和b之间有一条边,且其长度为d,花费为p。最后一行是两个数 s,t;起点s,终点。n和m为0时输入结束。 (1&lt;n&lt;=1000...

sunlanchang的博客 504

hdu 3790 最短路径问题 需要记录花费的最短路

创建一个cost[ ]来记录花费即可#include &lt;iostream&gt; #include &lt;memory.h&gt; #include &lt;stdio.h&gt; using namespace std; #define Max_V 1005 const int IN = (1&lt;&lt;28); int G[1005][1005]; int C[1005][100...

xutian_curry的博客 305

HDU T3790 最短路径问题

                              HDU T3790 最短路径问题 题目思路:    这题并不难,分清楚优先级就行,仍是求最短路径,但是在松弛的时候,如果 dis[j] == dis[p] + map[p][j]  那么松弛就需要变成求花费更少的路径。这里鄙人开了两个dis数组,两个map数组,一个vis数组......   Dijkstra写法 #inclu...

Mr__Charles的博客 205

hdu_3790 最短路径问题

原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=3790 分析:最短的问题的扩展,dis数组不仅存最短路,同时存费用,当最短路相同的时候,更新最小的花费就好了。 我的代码: #include #include #include using namespace std; #define MAXN 1005 #define INF 0xffffff

徵羽調_xiao賤的专栏 642

hdu3790 最短路径问题

题目;http://acm.hdu.edu.cn/showproblem.php?pid=3790 题意:中文题~ 想法:最短路径,两种做法,Dijkstra   和 spfa。Dijkstra搜索每一个点,然后标记vis[]为true。我用spfa试着写了写,spfa主要是把没有在队列中的节点放入队列中,一开始dis[]数组初始化为最大,否则会WA掉。。 代码: #include

u014032715的专栏 378

hdu-3790-最短路径问题(Dijkstra)

题目链接 1 /* 2 Name:hdu-3790-最短路径问题 3 Copyright: 4 Author: 5 Date: 2018/4/16 19:16:25 6 Description: 7 8 dijkstra 模板题 9 */ 10 #include <cstring>...

weixin_30820077的博客 164

【ICPC-300】hdu 3790 最短路径问题

点击打开链接hdu 3790 思路:最短路+Dijkstra 分析:由于题目要求在最短路径的时候花费最少,那么这就是在做松弛操作的时候判断一下当前的选择的边的花费是不是最少的,那么这样就可以求出最少的花费。利用最短路的思想即可。 注意:这一题如果是用long long 会WA,用int AC。我被坑了好久,还是不懂为什么。 代码: #include<ios...

藏经阁 | 玄苦 1232
上一篇: Play on Words 【POJ - 1386】
下一篇: Ice_cream's world I 【HDU - 2120 】
Daisy's一乐景三
博客等级 码龄8年 2粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值