汽车加油问题:一辆汽车加满油后可行驶n公里,旅途中有若干个加油站,两加油站间距离不超n 公里,起点离第一个加油站距离及最后一个加油站离终点距离也不超过n公里。算法给出应在哪些加油站停靠加油,使沿途加油次数最少。图中两端表示汽车起点和终点,中间标志为k个加油站,每段距离分别为s[0],s[1] ……s[k]公里.
#include<iostream>
using namespace std;int main()
{int n;cout<<"输入一次加油后可以行使的距离(公里数):";cin>>n;int x;cout<<"输入一共多少个加油站:";cin>>x;cout<<"输入每段距离序列"<<endl; int s[x+1];for(int i=0;i<=x;i++){cin>>s[i];}int gasoline=n;//汽油的现有量 int index=0;for(int i=0;i<x;i++){if(gasoline-s[i]>=s[i+1]){gasoline = gasoline-s[i]; }else{gasoline = n;index++;}}cout<<"沿途中加油的次数为:"<<index;
}