贪心----汽车加油问题
汽车加油问题
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;
}
贪心----汽车加油问题相关推荐
- 算法设计与分析[贪心]-汽车加油问题
Description 一辆汽车加满油后可行驶n公里.旅途中有若干个加油站.设计一个有效算法,指出应在哪些加油站停靠加油,使沿途加油次数最少. Input 第一行有2个正整数n和k,表示汽车加满油后可 ...
- java 汽车加油问题_贪心算法 汽车加油问题 | 学步园
/ //一辆汽车加满油后可行驶n公里.旅途中有若干个加油站.设计一个有效 // // // n和k个加油站位置,编程计算最少加油次数.并证明算法能产生一个最优解. // //要求: ...
- 汽车加油问题--贪心算法(算法设计与分析)
7-1 汽车加油问题 题目来源:王晓东<算法设计与分析> 一辆汽车加满油后可行驶 n公里.旅途中有若干个加油站.设计一个有效算法,指出应 在哪些加油站停靠加油,使沿途加油次数最少. 输入格 ...
- 【贪心算法】虚拟汽车加油问题
算法实现题 4-9 虚拟汽车加油问题 问题描述: 一辆虚拟汽车加满油后可以行驶n km.途中有若干个加油站.设计一个有效的算法,指出应在那个加油站停靠加油,使沿途加油次数最少. 算法设计: 给定n和k ...
- 贪心法求解汽车加油问题
文章目录 问题内容 贪心法思想 问题分析 代码 结果展示 遇到的问题 问题内容 已知一辆汽车加满油后可行驶d(如d=7)km,而旅途中有若干个加油站.编写一个实验程序指出应在哪些加油站停靠加油,使加油 ...
- 汽车加油问题 --贪心算法
问题描述 一辆汽车加满油后可行驶nkm .旅途中有若干个加油站.设计一个有效算法,指出应在哪些加油站停靠加油,使沿途加油次数最少. 编程任务 对于给定的n和k个加油站位置,编程计算最少加油次数. 数据 ...
- C++贪心实现汽车加油问题
一.实验目的 1.掌握基于贪心的算法求解汽车加油问题的原理和贪心性质的证明. 2.掌握汽车加油问题贪心算法正确性的推导过程和设计原理. 3.掌握基于贪心的算法汽车加油问题函数的具体步骤. 4.具备运用 ...
- 算法设计与分析——贪心算法——汽车加油问题
汽车加油问题:一辆汽车加满油后可行驶n公里,旅途中有若干个加油站,两加油站间距离不超n 公里,起点离第一个加油站距离及最后一个加油站离终点距离也不超过n公里.算法给出应在哪些加油站停靠加油,使沿途加油 ...
- c++用贪心算法解决汽车加油问题
汽车加油问题 Time Limit: 1000 ms Memory Limit: 65536 KiB 一辆汽车加满油后可行驶n公里.旅途中有若干个加油站.设计一个有效算法,指出应在哪些加油站停靠加油, ...
最新文章
- weblogic线程阻塞性能调优(图解)
- 测试工具–super-mack
- C语言试题八十之统计单词个数
- jQuery与JS的区别,以及jQuery的基础语法
- 微服务go还是java,Java微服务 vs Go微服务,究竟谁更强!?
- oracle对象依赖关系图,Oracle concepts 学习笔记(4)——Schema对象间的依赖关系
- 细说表单提交的GET和POST
- AMOS问卷数据建模前传【SPSS 052期】
- 图片打散存储JAVA_通过java的i/o机制进行图片流的存储以及对网络图片的存储
- discuz 门户diy实现翻页功能的修改记录
- Json转对象 调用toBean
- Java5种算术运算符,Java算术运算符
- openresty性能调优
- 阿里云服务器好吗?老司机谈谈阿里云服务器的使用感受
- 我们什么都没有,只有爱
- 21受限玻尔兹曼机RBM
- no interpreter
- 大数据培训课程哪个好
- 【机器翻译】机器翻译入门
- HCIP之MPLS中的LDP协议
热门文章
- 3dmax导出fbx没有贴图_SU教程 | 如何通过Skimp插件导入高质量模型、优化模型、匹配贴图?...
- 人脸关键点:DAN-Deep Alignment Network: A convolutional neural network for robust face alignment
- 利用python进行数据分析——第11章时间序列
- 洛谷 CSP2019-J2 自测 P5661 公交换乘
- 自动驾驶——2D高精度地图的生成
- VMware16安装CentOS7.6虚拟机
- Altium AD20焊盘样式、热焊盘与反焊盘与直接连接
- 当程序员,你应该懂的法则
- 【100题】第十三题(输出倒数第k个节点)
- LLRP 提供程序概述