汽车加油问题
程序员文章站
2022-06-08 08:17:46
...
分析
用贪心算法计算加油次数最少就是,计算是否能到下一目的地,不能则加油。(加一次油跑最远的距离)
实现
#include <iostream>
using namespace std;
int main(){
int n,k,i; int *station;
cout<<"请输入加满一箱油的最大行驶路程和加油站的个数:";
cin>>n>>k; station=new int[k+1];
cout<<"请输入相邻的两个加油站之间的距离:";
for(i=0;i<=k;i++) cin>>station[i];
int s=0,number=0;//number记录加油的次数
s=station[0];//加满油后希望的行驶距离
for(i=1;i<=k;i++){ //i代表加油站编号 。1~7.代表将要到大的加油站
if(s>n) {cout<<“No solutin!!”;
break;
}//判断能否到达i加油站
else{//能到达加油站i
s=s+station[i]; //到下一加油i+1站希望的 行使的距离
if(s>n){ //希望距离>n
number++;//加油
s=station[i];//到下一加油站的距离
cout<<"在第"<<i<<" 个加油站加油"<<endl;
}
}
}
cout<<number<<endl;
return 0;
}
上一篇: JAVA多线程和并发基础面试问答(转载)
下一篇: php上传文件与图片重命名方法总结
推荐阅读
-
Mysql5.7中使用group concat函数数据被截断的问题完美解决方法
-
Windows 64 位 mysql 5.7以上版本包解压中没有data目录和my-default.ini及服务无法启动的快速解决办法(问题小结)
-
个人所得税app常见的五大问题及解决方法介绍
-
解决mysql ERROR 1045 (28000)-- Access denied for user问题
-
selenium处理元素定位点击无效问题
-
vs2015/vs2013中mvc5 viewbag总是出现问题该怎么办?
-
企业做SEO优化前需要考虑哪些问题?
-
企业官网SEO优化被忽略的问题 你可能想错了
-
解决Python plt.savefig 保存图片时一片空白的问题
-
NHibernate问题求大神解决!!!