DOTCPP1282: 公交汽车,c++代码实现

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

1282: 公交汽车,c++代码实现

题目描述:

DOTCPP1282公交汽车

解题思路:

根据题目,乘客可以换乘,再通过仔细思考,我们发现,通过换乘可以使费用减小。

什么意思呢?

举个栗子:

我们设乘坐1到10千米分别的价钱分别是:

1 100000 200000 54 65 12 65 24 87 87

一个叫大傻逼大聪明的乘客要乘坐2km的车,如果不换乘,就要消耗100000元(很合理吧),但大聪明通过仔细观察,经过九九七十一天的苦思冥想,经过成千上万次的科学计算,终于发现,只要通过一次换乘(第一次乘坐一千米,第二次也坐一千米),也就是说,大聪明乘坐2km的车只需要1+1=2元就够了。

那么如果要乘坐3km呢?根据数据,要消耗200000元(也很合理)。但我们刚才已经算出,乘坐2km最需要2元,那么如果再乘坐1km,就只需要2+1=3元,而不是200000元了!

现在我们开始写代码

按照以上思路,我们定义一个数组price[101]={0},用来装输入的价钱。
首先是输入:

for(int i=1;i<=10;i++)
	cin>>price[i];
cin>>n;

假设输入的数据是:

1 3 5 7 9 11 13 15 17 8
11

其中, 第一行十个整数分别表示行走1到10公里的费用

第二行一个整数n表示,旅客的总路程数。

现在price里的数据为(下标为1-11)

1 3 5 7 9 11 13 15 17 8 0

我们要一个个地处理每千米所要花费的最低价钱,用一个循环:

for(int k=1;k<=n;k++){
   
   
	尝试寻找k千米的最低价格
}

先看1km的价格,并没有办法使乘坐1km的价格减少,那么1km的

C++公交换乘(队列练习) 第六条记录,在第 135 分钟乘坐公交车,由于此时手中只有第五条记录中乘坐地铁获得的优惠票有效,而本次公交车的票价为 6 元,高于第五条记录中地铁的票价 5 元,所以不能使用优惠票,花费 6 元乘坐公交车。第五条记录,在第 38 分钟乘坐公交车,此时第一条和第三条记录中乘坐地铁获得的优惠票都可以使用,使用获得最早的优惠票,即第一条记录中乘坐地铁获得的优惠票。第四条记录,在第 31 分钟乘坐公交车,此时只有第二条记录中乘坐的地铁票价高于本次公交车票价,所以使用第二条记录中乘坐地铁获得的优惠票。 阅读详情

相关推荐

C++洛谷P5661,[CSP-J2019]公交换乘题解+de小bug

C++洛谷P5661,[CSP-J2019]公交换乘题解+de小bug C 思路 算法:队列,模拟。 重点:读入每一张有效优惠券的终止时间,价格。 模拟每一条公交车记录是否可以用票抵消。 如果可以,用最早的有效优惠票。 否则,用钱买车票。 Code: #include<iostream> #include<cstdio> using namespace std; struct piao { int p; int t; }; piao a[100005]; int n; i

Jacggs的博客 2012

C++公交换乘系统.docx

C++公交换乘系统.docxC++公交换乘系统.docxC++公交换乘系统.docxC++公交换乘系统.docxC++公交换乘系统.docxC++公交换乘系统.docxC++公交换乘系统.docxC++公交换乘系统.docx

公交换乘系统 C++实现

由于换乘麻烦,自己做了一个小的换乘系统,

公交换乘怎么做c++

公交换乘怎么做c++求助大佬

ITlearing的博客 1798

C++知识点总结(23):高级模拟算法

现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号。为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。总花费中,地铁是必须花费的,公交车可能不花钱(坐地铁后有赠票),但是与时间和价格有一定关系。行,一个整数,表示所求的地毯的编号;的破译过程是这样的:扫描原信息,对于原信息中的字母。的地毯的信息,包含四个整数。,表示所求的地面的点的坐标(

joe_g12345的博客 1154

1935. 公交换乘(transfer)

!!!

ab761111的博客 558

dotcpp网站上的部分python程序训练代码

三角形面积=SQRT(S*(S-a)*(S-b)*(S-c)) 其中S=(a+b+c)/2,a、b、c为三角形的三边。定义两个带参的宏,一个用来求area, 另一个宏用来求S。写程序,在程序中用带实参的宏名来求面积area。# 三角形面积import math # 引用math库# 分别传入a,b,c的值,并判断三条边是否可以组成三角形a = int(input("请输入a的值: "))b = int(input("请输入b的值: "))c = int(input("请输入c的值: "))

one>twenty的博客 1960

洛谷 CSP2019-J2 自测 P5661 公交换乘

题目描述 著名旅游城市 B 市为了鼓励大家采用公共交通方式出行,推出了一种地铁换乘公交车的优惠方案: 在搭乘一次地铁后可以获得一张优惠票,有效期为 45 分钟,在有效期内可以消耗这张优惠票,免费搭乘一次票价不超过地铁票价的公交车。在有效期内指开始乘公交车的时间与开始乘地铁的时间之差小于等于 45 分钟,即: t(bus)-t(subway)<=45 搭乘地铁获得的优惠票可以累积,即可以连续搭...

Running Snail 1604

公交换乘C++

第二,三条记录中的优惠票有效,但本次公交票价为 7 元,高于第二条的优惠票,只有第三条记录中的优惠票可以使用,所以使用第三条记录的优惠票。第六条记录,在第 135 分钟乘坐公交车,由于此时手中只有第五条记录中乘坐地铁获得的优惠票有效,而本次公交车的票价为 6 元,高于第五条记录中地铁的票价 5 元,所以不能使用优惠票,花费 6 元乘坐公交车。第五条记录,在第 50 分钟乘坐公交车,此时第二,三条记录的优惠票有效,但第三条记录的优惠票已经使用,第二条记录的优惠票高于本次公交票价,所以使用第二条记录的优惠票。

mwssx的博客 1252

最少换乘次数

最少换乘次数 问题描述: 设某城市有n个车站,并有m条公交线路连接这些车站。设这些公交车都是向的,这n个车站被顺序编号为0~n-1。编号程序,输入该城市的公交线路数,车站个数,以及各公交线路上的各站编号。 实现要求: 求得从站0出发乘公交车至站n一1的最少换车次数。 思路: BFS:我们把同一条线路上的所有车站之间全部连一条边,这样就可以直接利用bfs求得最短距离,因为bfs只要到达终点就一定是最短的。 最短路径算法:经典的Dijstra算法求最短路径 #include<iostream&gt

matafeiyanll的博客 2698

城市公交换乘VC++程序

本程序为GIS和路径算法的测试程序,路径仅供参考。 算法描述:根据公交站点构造出虚拟含换乘边在内的公交路网,共有约22万个路段,2.3万个站点参与路径计算。根据不同的公交线路的速度赋不同的权值,对不同的换乘进行处理,求到最优的路径。换乘确定在400米之内+等车时间,求出最佳换乘。 新增功能 公交网路(含地铁城铁)交通最优路径计算。 为了使计算出的路径尽可能合理,程序换乘部分扩展的大量的路段,所以计算过程稍慢。 操作简,用鼠标分别选中起始点和目的地点,系统自动计算最佳换乘路线。 由于公交数据变化很大,计算出的换乘路径仅供参考。 图层控制,用户可以通过图层选项,根据喜好,定制地图显示内容。 界面下部信息框显示相关公交路线,路径信息,和地址附近的公交站点信息。 区域设施,按住鼠标左键在地图上画方框包含查询区域,显示区域内的各类地址名称。 包含大量的学校、机构、企事业等地址,共有1.7万多个个地址可供查询。支持模糊查询方式,在关键词栏中写入地址关键词,点击查询按钮,会在下面列表框中显示所有与该关键词相近的地址,鼠标双击相应的地址,该地址会在地图上显示出来,并在下面信息框中显示附近的公交车站及公交线路。 程序说明 程序中所涉及的算法及核心技术全部采用北京工业大学通研究中心陈艳艳的算法和思路。 程序采用VC++语言在windows平台从底层开发,没有使用其他商用GIS组件或支持包。程序运行简洁、高效。 现有功能(整个北京地区): 支持多个图层:绿地、河流、道路、行政区、交通区、村乡地址、公交站点等。 地图浏览:鼠标滚轮放大、缩小。按鼠标左键拖动地图移动。 支持地图中交通对象的信息交互查询。 通过输入关键词实现快速地址及公交线路查询,并在图上显示。 选择下拉框,选择公交线路查询 信息查询: 快速地址及公交查询,在信息框输入栏中输入地址关键词,即可查出与该关键词有关的所有地址,鼠标双击列表框中列出的地址,可以动态显示该地址在地图上的位置。关键词如输入“52”可得到所有包含52的公交站点。 路段信息查询、修改,选取对应的菜项,用鼠标点中某一路段,击鼠标左键,弹出对话框,显示这个路段的信息包括路段名、长度、速度。 支持GPS定位,默认串口com1,每秒位数(bps):4800. 车辆行驶轨迹在地图上实时显示,轨迹存储、装载。 支持键盘方式:方向键上下左右移动地图,home,end放大缩小地图。 存在问题: 同样的起始点路径可能不同:由于同名的公交车站点可能在相近的不同地方,分别属于不同的公交线路。起始点的选择一般采用搜索到的第一个名称。这就造成同样的起始点而搜索的路径不同。

公交换乘查询系统

公交换乘查询系统

P5661 [CSP-J 2019] 公交换乘

代码】P5661 [CSP-J 2019] 公交换乘

Ray.C.L的博客 807

公交线路提示(课设)

C++应用迪杰斯特拉算法,求解公交最少换乘次数路线、经过最少站点数路线

CXR_XC的博客 2285

C语言学习网,让每一个知识点都有学练的同步,及时动手巩固学习的知识点,真正学会编程。

C语言网(www.dotcpp.com)(又名Dotcpp编程,以下简称Dotcpp编程)由黄晋阳老师于2014年4月在浪漫滨城大连创办,学生时代的程序竞赛经历加上工作时期的软件研发经验让黄老师明白编程学习最大的问题并不是学习资源匮乏或方法的不对,而是学与练的同步,知与行的合一,因此网站诞生的初衷,就是为了帮助广大编程爱好者提升和解决编程动手能力弱的问题Dotcpp编程不仅仅提供编程的教程、工具与资源,还提供与之配套的题目,让每一个知识点都有学练的同步,及时动手巩固学习的知识点,真正学会编程。

qq_45746668的博客 6214

dotcpp刷题心得记录(C++

1. printf("%7.2f",sum)将sum整数部分保留7位,小数保留2位。

m0_64120172的博客 762

(2702 内存空间)dotcpp的在线提交有bug?

2702 内存空间 系统似乎有bug

Manstaim的博客 300

dotcpp

代码dotcpp

furiyo的博客 671

基于C++的个性化交通换乘规划设计 文档+任务书+程序

某城市的公共交通由地铁和公交车组成,其中公交车分为空调车(每次2元钱)和普通车(每次1元)两种,地铁票价计算方式为0。本文转载自:http://www.biyezuopin.vip/onews.asp?(4) 设计不止一种个性化的换乘方案,如时间最短、换乘次数最少、花费最小等。14站5元,大于14站8元,请设计程序规划一个交通工具换乘方案。(1) 设计合适的数据结构存储站点信息和连接关系信息;(3) 能够保留各站点之间的交通方式以及预计通行时间;4.3 输入起点、终点、乘车方案类型 8。

毕业作品网站 772
下一篇: DOTCPP1049:计算该日是本年中的第几天,c++代码实现
Lomid1024
博客等级 码龄3年 0粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值