题目:

题目描述
一个特别的单行街道在每公里处有一个汽车站。顾客根据他们乘坐汽车的公里使来付费。例如下表就是一个费用的单子。 没有一辆车子行驶超过10公里,一个顾客打算行驶n公里(1< =n< =100),它可以通过无限次的换车来完成旅程。最后要求费用最少。
输入
第一行十个整数分别表示行走1到10公里的费用(< =500)。注意这些数并无实际的经济意义,即行驶10公里费用可能比行驶一公里少。 第二行一个整数n表示,旅客的总路程数。
输出
仅一个整数表示最少费用。
样例输入
12 21 31 40 49 58 69 79 90 101
15
样例输出
147

C++代码及注释

/*
主页有:①2011——2018蓝桥杯真题以及第十届蓝桥杯大赛决赛真题。蓝桥杯VIP题目提交渠道,超详细截图教程。②蓝桥杯题库赛题Python代码解析③python版的数据结构和算法,并且配备各阶段的例题,适合新手入门看。欢迎关注=.=,如果这个博客对你有帮助的话可以点个赞,有问题或者别的意见可以在评论下方提出,我看到会及时回复,谢谢~另外,刚刚上手Python的同学可以参考菜鸟教程学习:https://www.runoob.com/python3.html
*/
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{int pri[15]={0};    //每公里所需要的价钱int dp[105]={0};    //每个状态(公里)最小开销int n;              //所要行驶总公里数for(int i=1;i<=10;i++)//初始化每公里所需要的价钱{cin>>pri[i];}cin>>n;//初始化所要行驶总公里数dp[1]=pri[1];//第一公里毋庸置疑,只有一种乘车方案for(int i=2;i<=n;i++){int minv=50000;//比较所有可能乘车方案得到最小开销//所有方案是:之前的某个位置(i-k)坐k(k=1,2,3...10)公里到当前位置//当然,上面说的i-k可能小于0,所以注意for(int k=1;k<=10&&i-k>=0;k++){minv=min(minv,dp[i-k]+pri[k]);}//找到最小开销并存储到当前dp节点dp[i]=minv;}cout<<dp[n];//最后一个dp节点保存的即所有公里的最小开销return 0;
}

与c++思路一致,给出Python的解法

Python容易理解版

'''
主页有:①2011——2018蓝桥杯真题以及第十届蓝桥杯大赛决赛真题。蓝桥杯VIP题目提交渠道,超详细截图教程。②蓝桥杯题库赛题Python代码解析③python版的数据结构和算法,并且配备各阶段的例题,适合新手入门看。欢迎关注=.=,如果这个博客对你有帮助的话可以点个赞,有问题或者别的意见可以在评论下方提出,我看到会及时回复,谢谢~另外,刚刚上手Python的同学可以参考菜鸟教程学习:https://www.runoob.com/python3.html
'''
cost=list(map(int,input().split()))
cost.insert(0,0)#在列表首部插入1个无用的元素,为了保证乘i公里的花费==cost[i]
n=int(input())#初始化公里数
dp=[0 for i in range(n+1)]#注意,这里的初始化长度n+1的列表,队首不用#dp每个节点
dp[1]=cost[1]#第一公里==cost[1]
for i in range(2,n+1):#dp每一公里minv=5000000#定义最小开销,初始定义为一个较大值,之后会动态更新#比较所有可能乘车方案得到最小开销#所有方案是:从之前的某个位置(i-j)坐j(j=1,2,3...10)公里到当前位置for j in range(1,11):#当然,上面说的i-j可能小于0,所以注意if i-j<0:breakminv=min(minv,dp[i-j]+cost[j])dp[i]=minv
print(dp.pop())

Python精简版,比较绕,挑战脑力可以试试

'''
主页有:①2011——2018蓝桥杯真题以及第十届蓝桥杯大赛决赛真题。蓝桥杯VIP题目提交渠道,超详细截图教程。②蓝桥杯题库赛题Python代码解析③python版的数据结构和算法,并且配备各阶段的例题,适合新手入门看。欢迎关注=.=,如果这个博客对你有帮助的话可以点个赞,有问题或者别的意见可以在评论下方提出,我看到会及时回复,谢谢~另外,刚刚上手Python的同学可以参考菜鸟教程学习:https://www.runoob.com/python3.html
'''
cost=list(map(int,input().split()))
n=int(input())
dp=[0 for i in range(n)]#dp每个节点
dp[0]=cost[0]#第一公里==cost[0]
for i in range(1,n):#dp每一公里minv=5000000#定义最小开销for j in range(1,11):if i-j+1<0:breakminv=min(minv,dp[i-j]+cost[j-1])dp[i]=minv
print(dp.pop())

题目 1282: 公交汽车(Python、C++动态规划代码及注释)相关推荐

  1. 【Python第3篇】如何在Python中对代码进行注释

    在Python中,为了方便阅读代码,我们可以对代码进行注释. Python的注释方法主要有两种.一种是用#符号注释,一种是用"""符号注释.#符号注释一般单独占一行,或者 ...

  2. 解决python中html 代码被注释掉 依旧被解释导致报错ERROR:tornado.access:500 GET /home (xxx.xxx.xxx.xxx)

    ERROR:tornado.access:500 GET /home (xxx.xxx.xxx.xxx) 注释的是Html代码,是给浏览器看的. Html里的代码还是要执行.注释python代码用{# ...

  3. python外星人入侵代码提示has no attri_Python外星人入侵完整代码和注释(四)

    四.重构:模块game_function,创建game_function.py 文件名 1.创建game_function.py(用来存储项目的大部分函数) 2.函数check_events() :响 ...

  4. 排序算法基本介绍及python实现(含详细注释)

    对数组排序可以说是编程基础中的基础,本文对八种排序方法做简要介绍并用python实现. 代码中注释很全,适合复习和萌新学习.这是刚入学自己写的,可能难免比不上标准的写法,但是懒得改了. 文末会放和排序 ...

  5. 10 种机器学习算法的要点(附 Python 和 R 代码)(转载)

    10 种机器学习算法的要点(附 Python 和 R 代码)(转载) from:https://zhuanlan.zhihu.com/p/25273698 前言 谷歌董事长施密特曾说过:虽然谷歌的无人 ...

  6. python 常忘代码查询 和autohotkey补括号脚本

    autohotkey更新2018-08-03,9点01 python ;把大写禁用了,因为确实基本不用.`表示删除,caplock+ijkl可以控制光标 SetCapsLockState , Alwa ...

  7. 机器学习算法一览(附python和R代码)

     机器学习算法一览(附python和R代码) 来源:数据观 时间:2016-04-19 15:20:43 作者:大数据文摘 "谷歌的无人车和机器人得到了很多关注,但我们真正的未来却在于能 ...

  8. 机器学习系列(9)_机器学习算法一览(附Python和R代码)

    转载自:http://blog.csdn.net/longxinchen_ml/article/details/51192086 – 谷歌的无人车和机器人得到了很多关注,但我们真正的未来却在于能够使电 ...

  9. ML之XGBoost:XGBoost参数调优的优秀外文翻译—《XGBoost中的参数调优完整指南(带python中的代码)》(四)

    ML之XGBoost:XGBoost参数调优的优秀外文翻译-<XGBoost中的参数调优完整指南(带python中的代码)>(四) 目录 Step 3: Tune gamma步骤3:伽马微 ...

  10. ML之XGBoost:XGBoost参数调优的优秀外文翻译—《XGBoost中的参数调优完整指南(带python中的代码)》(三)

    ML之XGBoost:XGBoost参数调优的优秀外文翻译-<XGBoost中的参数调优完整指南(带python中的代码)>(三) 目录 3. 参数微调案例/Parameter Tunin ...

最新文章

  1. ceph-kvstore-tool 工具使用详解
  2. Convert Plant to Retail Site Master
  3. 5G通信的一些关键技术
  4. iphone主屏幕动态壁纸_iPhone8怎么设置动态壁纸?iPhone8动态壁纸设置教程
  5. linux获得系统时间 c,linux c 获取系统时间
  6. ireport学习笔记
  7. 计算机共享文件怎样添加,怎么添加另一台电脑的共享文件夹
  8. UVA-1602 Lattice Animals 搜索问题(打表+set)
  9. 爬虫python能做什么-Python爬虫能做什么
  10. 图书管理系统sql语句
  11. linux录音硬件电路,电话扩音录音装置电路及制作
  12. 秒懂!什么是BI商业智能!
  13. Python-100-Days学习笔记day11
  14. 干货!深度推荐系统的探索与实践
  15. 天耀18期 - 10.字符串常用方法【作业】
  16. Gaussian Mixture Model:混合高斯模型介绍
  17. tflearn在tensorflow上的安装配置(基于ubuntu)
  18. android多渠道打包
  19. 抢红包技术大揭秘:如何使用Redis轻松实现抢红包
  20. Shopee关联广告和关键词广告有什么不同?如何优化广告关键词?

热门文章

  1. 创新者:打造全球领先的创新机制
  2. 怎么用gnuplot画动图
  3. 汽车知识和点评系统毕业设计成品作品(4)开发技术文档
  4. 32Bit程序使用超过2G内存的方法
  5. 对象的结构(简单直白)
  6. (实测可用)GD32F303RCT6开发板移植RT-Thread操作系统(解决第一次移植后无法启动无法进入main函数问题)
  7. java+ascii+汉字编码_ASCII码,中文汉字与Uincode编码相互转换在线计算器_三贝计算网_23bei.com...
  8. Flask框架搭建一个日程表
  9. LeetCode-Easy部分中标签为Array的所有题目
  10. Android 之 声音捕捉