汽车加油问题
Time Limit: 1000 ms Memory Limit: 65536 KiB``

Problem Description
一辆汽车加满油后可行驶n公里。旅途中有若干个加油站。设计一个有效算法,指出应在哪些加油站停靠加油,使沿途加油次数最少。并证明算法能产生一个最优解。
对于给定的n和k个加油站位置,计算最少加油次数。
Input
输入数据的第一行有2 个正整数n和k(n≤5000,k≤1000),表示汽车加满油后可行驶n公里,且旅途中有k个加油站。接下来的1 行中,有k+1 个整数,表示第k个加油站与第k-1 个加油站之间的距离。第0 个加油站表示出发地,汽车已加满油。第k+1 个加油站表示目的地。
Output
将计算出的最少加油次数输出。如果无法到达目的地,则输出“No Solution!”。
Sample Input
7 7
1 2 3 4 5 1 6 6
Sample Output
4

#include <iostream>
#include <cstdio>
using namespace std;
const int max1 = 1001;
int a[max1],sum;
void greedy(int n,int k,int a[])
{sum = 0;for(int i = 0; i <= k; i++){if(a[i] > n){printf("No Solution!\n");return ;}}for(int i =0, s = 0; i <= k; i++)  ///注意理解"s"代表"每次"加满油之后行驶的距离。{s+=a[i];///先算出若走下一站的情况下,一共要走的路程,if(s > n) ///若算出距离大于n,则不能走先加油。{sum++;   ///加一次油。s = a[i];///加满油之后再走a[i]的距离。}}printf("%d\n",sum);
}
int main()
{int n,k;
scanf("%d %d",&n,&k);
for(int i = 0; i <= k; i++)
{scanf("%d",&a[i]);
}
greedy(n,k,a);return 0;
}

贪心----汽车加油问题相关推荐

  1. 算法设计与分析[贪心]-汽车加油问题

    Description 一辆汽车加满油后可行驶n公里.旅途中有若干个加油站.设计一个有效算法,指出应在哪些加油站停靠加油,使沿途加油次数最少. Input 第一行有2个正整数n和k,表示汽车加满油后可 ...

  2. java 汽车加油问题_贪心算法 汽车加油问题 | 学步园

    / //一辆汽车加满油后可行驶n公里.旅途中有若干个加油站.设计一个有效      // // // n和k个加油站位置,编程计算最少加油次数.并证明算法能产生一个最优解.    // //要求:   ...

  3. 汽车加油问题--贪心算法(算法设计与分析)

    7-1 汽车加油问题 题目来源:王晓东<算法设计与分析> 一辆汽车加满油后可行驶 n公里.旅途中有若干个加油站.设计一个有效算法,指出应 在哪些加油站停靠加油,使沿途加油次数最少. 输入格 ...

  4. 【贪心算法】虚拟汽车加油问题

    算法实现题 4-9 虚拟汽车加油问题 问题描述: 一辆虚拟汽车加满油后可以行驶n km.途中有若干个加油站.设计一个有效的算法,指出应在那个加油站停靠加油,使沿途加油次数最少. 算法设计: 给定n和k ...

  5. 贪心法求解汽车加油问题

    文章目录 问题内容 贪心法思想 问题分析 代码 结果展示 遇到的问题 问题内容 已知一辆汽车加满油后可行驶d(如d=7)km,而旅途中有若干个加油站.编写一个实验程序指出应在哪些加油站停靠加油,使加油 ...

  6. 汽车加油问题 --贪心算法

    问题描述 一辆汽车加满油后可行驶nkm .旅途中有若干个加油站.设计一个有效算法,指出应在哪些加油站停靠加油,使沿途加油次数最少. 编程任务 对于给定的n和k个加油站位置,编程计算最少加油次数. 数据 ...

  7. C++贪心实现汽车加油问题

    一.实验目的 1.掌握基于贪心的算法求解汽车加油问题的原理和贪心性质的证明. 2.掌握汽车加油问题贪心算法正确性的推导过程和设计原理. 3.掌握基于贪心的算法汽车加油问题函数的具体步骤. 4.具备运用 ...

  8. 算法设计与分析——贪心算法——汽车加油问题

    汽车加油问题:一辆汽车加满油后可行驶n公里,旅途中有若干个加油站,两加油站间距离不超n 公里,起点离第一个加油站距离及最后一个加油站离终点距离也不超过n公里.算法给出应在哪些加油站停靠加油,使沿途加油 ...

  9. c++用贪心算法解决汽车加油问题

    汽车加油问题 Time Limit: 1000 ms Memory Limit: 65536 KiB 一辆汽车加满油后可行驶n公里.旅途中有若干个加油站.设计一个有效算法,指出应在哪些加油站停靠加油, ...

最新文章

  1. weblogic线程阻塞性能调优(图解)
  2. 测试工具–super-mack
  3. C语言试题八十之统计单词个数
  4. jQuery与JS的区别,以及jQuery的基础语法
  5. 微服务go还是java,Java微服务 vs Go微服务,究竟谁更强!?
  6. oracle对象依赖关系图,Oracle concepts 学习笔记(4)——Schema对象间的依赖关系
  7. 细说表单提交的GET和POST
  8. AMOS问卷数据建模前传【SPSS 052期】
  9. 图片打散存储JAVA_通过java的i/o机制进行图片流的存储以及对网络图片的存储
  10. discuz 门户diy实现翻页功能的修改记录
  11. Json转对象 调用toBean
  12. Java5种算术运算符,Java算术运算符
  13. openresty性能调优
  14. 阿里云服务器好吗?老司机谈谈阿里云服务器的使用感受
  15. 我们什么都没有,只有爱
  16. 21受限玻尔兹曼机RBM
  17. no interpreter
  18. 大数据培训课程哪个好
  19. 【机器翻译】机器翻译入门
  20. HCIP之MPLS中的LDP协议

热门文章

  1. 3dmax导出fbx没有贴图_SU教程 | 如何通过Skimp插件导入高质量模型、优化模型、匹配贴图?...
  2. 人脸关键点:DAN-Deep Alignment Network: A convolutional neural network for robust face alignment
  3. 利用python进行数据分析——第11章时间序列
  4. 洛谷 CSP2019-J2 自测 P5661 公交换乘
  5. 自动驾驶——2D高精度地图的生成
  6. VMware16安装CentOS7.6虚拟机
  7. Altium AD20焊盘样式、热焊盘与反焊盘与直接连接
  8. 当程序员,你应该懂的法则
  9. 【100题】第十三题(输出倒数第k个节点)
  10. LLRP 提供程序概述