每天一个小题目——小赛打车

2024-01-10 11:08
文章标签 每天 打车 小赛 小题目

本文主要是介绍每天一个小题目——小赛打车,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


  • 题目描述


小赛打车 时间限制:C/C++语言 1000MS;其他语言 3000MS 内存限制:C/C++语言 32768KB;其他语言 557056KB题目描述: 小赛要去位于 A 市的小码家。小赛来到 A 市的车站,买了一张 A 市的地图,他发现这里的地形非常的复杂。A 市的街道一共有 N 个路口,M 条道路,每条道路连接着两个路口,并且有各自的长度。目前,小赛所在的车站位于编号为 1 的路口,而小码家所在的路口编号为 N,小赛准备打出租车去,当然,路程越小,付的钱就越少。问题摆在眼前:请帮助小赛寻找一条最短路径,使得他可以花最少的钱到达小码家。
样例输入、输出:
输入 第一行有两个整数 N, M (N≤1000) 分别代表路口数和街道数。以下有 M 行用以描述各个街道,每行有三个数字 P1, P2, L,分别代表此街道起点编号,此街道终点编号以及此街道的长度。保证所给的数据可以构成连通图。
输出
一行一个整数,说明最短路径的长度。
样例输入
6 7
1 2 1
1 3 5
1 4 2
4 6 10
2 5 3
3 5 8
5 6 7
样例输出
11

代码如下:

#include<iostream>using namespace std;int a[1000][1000] = {0};
int d[1000][1000] = {0};int next(int n, int m){                  // 循环迭代累加路径 if (n < m){for (int j = 1; j <= m; ++j)if (a[n][j] == 1)return d[n][j] + next(j,m);}elsereturn 0;       
}int main(){int N,M;cin >> N >> M;int max = 0;while(M--){                           // 道路数据录入 int p1,p2,l;cin >> p1 >> p2 >> l;a[p1][p2] = 1;d[p1][p2] = l;if (p2 > max)max = p2;}int cnt = 0;for (int j = 1; j <= max; ++j)if (a[1][j] == 1)++cnt;                        // 从 1 出发的路有几条 int *p = new int[cnt+1];              // 存储路径的动态数组 for (int i = 1; i <= cnt; ++i)        // 数组初始化 p[i] = 0;int num = 1;for (int j = 1; j <= max; ++j )       // 从 路口 1 开始寻找{int sum = 0;                      // 路程总数 if (a[1][j] == 1){p[num] += d[1][j] + next(j,max);//  cout << p[num] << " ";            // 所有可能路径长度 ++num;}} int count = p[1];                     // 找到最小路径 for (int i = 2; i <= cnt; ++i)if (p[i] != 0 && p[i] < count)count = p[i];delete [] p;                          // 释放内存 cout << count << endl;return 0;
}

这篇关于每天一个小题目——小赛打车的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/590582

相关文章

每天认识几个maven依赖(ActiveMQ+activemq-jaxb+activesoap+activespace+adarwin)

八、ActiveMQ 1、是什么? ActiveMQ 是一个开源的消息中间件(Message Broker),由 Apache 软件基金会开发和维护。它实现了 Java 消息服务(Java Message Service, JMS)规范,并支持多种消息传递协议,包括 AMQP、MQTT 和 OpenWire 等。 2、有什么用? 可靠性:ActiveMQ 提供了消息持久性和事务支持,确保消

每天一道面试题(2):fail-safe 机制与 fail-fast 机制分别有什么作用?

当谈论Java集合的 fail-fast 和 fail-safe 机制时,涉及的是在集合被并发修改时的行为和处理方式。这些机制对保证程序的正确性和稳定性非常重要,尤其是在多线程环境中。 1. Fail-Fast 机制 定义: Fail-fast 机制的核心是在检测到集合在遍历过程中被修改时,立即抛出 ConcurrentModificationException 异常,从而中断迭代操作。这种

【销售预测 ARIMA模型】ARIMA模型预测每天的销售额

输入数据txt格式: 2017-05-01 100 2017-05-02 200 ……. python 实现arima: # encoding: utf-8"""function:时间序列预测ARIMA模型预测每天的销售额author:donglidate:2018-05-25"""# 导入库import numpy as np # numpy库from statsmode

每天一个数据分析题(五百二十七)- word2vec模型

Word2vec,是一群用来产生词向量的相关模型。这些模型为浅而双层的神经网络,用来训练以重新建构语言学之词文本。关于word2vec模型,下面说法不正确的是: A. 得到的词向量维度小,可以节省存储和计算资源 B. 考虑了全局语料库的信息 C. 无法解决多义词的问题 D. 可以表示词和词之间的关系 数据分析认证考试介绍:点击进入 数据分析考试大纲下载 题目来源于CDA模拟题库 点

今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 9月6日,星期五

每天一分钟,知晓天下事! 2024年9月6日 星期五 农历八月初四 1、 “摩羯”加强为17级超强台风,6日广东深圳、珠海、湛江等多地全市停课。 2、 两部门:事业单位不得自行制定面向特定人员的专项招聘、加分等倾斜政策。 3、 央行:降准还有一定空间;存贷款利率进一步下行面临一定约束。 4、 我国天问三号任务计划2028年前后实施两次发射任务,实现火星样品返回地球。 5、 山东、四川、吉

每天掌握一个软测高级技巧:接口自动化神器apin进阶操作

之前写了一篇关于接口自动化框架 apin 入门使用是文章,主要介绍了 apin 的安装以及用例编写的方法。 今天这篇文章来给大家聊聊,apin 中的一些高级使用技巧。比如依赖接口的变量提取和引用,用例断言,以及函数工具的使用。 变量提取和引用 变量提取和引用主要是为了解决接口之间的参数依赖问题。 使用场景:接口 A 的参数中需要使用接口 B 返回的某个数据,那么就要在请求 B 接口之后,提

今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 9月5日,星期四

每天一分钟,知晓天下事! 2024年9月5日 星期四 农历八月初三 1、 气象台发布台风红色预警:“摩羯”或为近十年影响海南最强台风,海口5日12时起在全市范围内分批启动“六停”措施。 2、 国家医保局:将人工耳蜗等高值医用耗材纳入采购范围。 3、 食用油散装运输强制性国标启动制订:要求专用容器+核查运输记录。 4、 包装不得超三层、不得使用红木等,中秋节前多地启动

10天计划:每天5小时睡眠

Day 1 - Day 2: 适应期 目标:适应减少睡眠时间的变化。 睡眠:00:00 - 05:00(5小时)早晨(5:00 - 7:00):轻度运动(瑜伽、拉伸、散步)、20分钟冥想。上午(7:00 - 12:00):专注高强度任务(需要逻辑思考或创作)。中午(12:00 - 13:00):午餐,午间20分钟小睡。下午(13:00 - 17:00):处理日常任务和会议,做较轻松的工作。晚上

每天分享一个FPGA开源代码(3)- I2C

​ I2C(Inter-Integrated Circuit)是一种两线式串行总线。   ​   一、主要特点 1. 简单性:只使用两根线,即串行数据线(SDA)和串行时钟线(SCL),减少了硬件连接的复杂性。 2. 多设备连接:可以连接多个具有 I2C 接口的设备到同一总线,每个设备都有唯一的地址,通过地址来区分和通信。 3. 双向通信:SDA 线允许数据在主设备和从设备之间双

MYSQL:删除指定时间范围内每个电站每天发电数据除最大值以外的记录

有一个需求,需要保留每个电站每一天发电数据的最大值记录,其余删除。 表数据大概长这样: MYSQL 5.7写法:(因为不支持ROW_NUMBER()函数,采用自定义的变量来代替) 首次清理一年内数据:INTERVAL 365 DAY清理前一日数据:INTERVAL 1 DAY----------------- DELETE A FROM power_app_data_log