首页 > 编程语言 > 详细

贪心算法:汽车加油问题

时间:2019-09-12 23:40:02      阅读:16      评论:0      收藏:0      [点我收藏+]

标签:ace   ()   iostream   ret   需要   问题:   

1.试用贪心算法求解汽车加油问题:已知一辆汽车加满油后可行驶n公里,而旅途中有若干个加油站。试设计一个有效算法,指出应在哪些加油站停靠加油,使加油次数最少请写出该算法。

#include <iostream> #include <algorithm> #define M 100 using namespace std; /*加满油之后可行驶n公里, 对于给定的n和k个加油站位置,计算最少加油次数。 基本思路:经过加油站时如果汽车有油,且能到达下一个加油站, 就不加油,否则,加油 设定数组来记录经过加油站时是否加油*/ int main() { int station[M];//记录加油站之间的路程 int n;//汽车加满油后能行驶的里程 int k1;//加油站个数 int k[M];//记录是否加油 int lv;//油箱中的油可以走的距离 cout<<"输入加油站的数量:"; cin>>k1; cout<<"输入各个加油站之间的距离:"; for(int i=0;i<k1+1;i++)//共k+1段距离 { cin>>station[i]; } cout<<"输入加满油后可以走的距离"; cin>>n; lv=n; for(int i=0;i<k1;i++) { if(lv-station[i]<=station[i+1]) { k[i]=1; lv=n; } else { k[i]=0; } } cout<<"需要在第:"; for(int i=0;i<k1;i++) { //cout<<k[i]<<" "; if(k[i]==1) { cout<<i+1<<" "; } } cout<<"站加油"; // cout << "Hello world!" << endl; return 0; }

 

贪心算法:汽车加油问题

标签:ace   ()   iostream   ret   需要   问题:   

原文:https://www.cnblogs.com/plumlee/p/11515494.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 bubuko.com 版权所有 鲁ICP备09046678号-4
打开技术之扣,分享程序人生!
             

鲁公网安备 37021202000002号