#include<bits/stdc++.h>
#include<stdio.h>
using namespace std;
int a[10000];//储存相邻加油站的间距
int min_times(int k,int n)
{
int t=0;//加油次数
int sum=a[0];//已行驶的距离
for(int i=1; i<k+1; i++)
{
sum+=a[i];
if(sum>n)//若行驶距离加上到下一个加油站的距离超过最大行驶距离加一次油
{
t++;
sum=a[i];
}
}
return t;//返回加油次数
}
int main()
{
int k,n;
cout<<"输入加油站个数和加满油后能行驶的距离:"<<endl;
cin>>k>>n;
cout<<"输入相邻加油站的间距:"<<endl;
for(int i=0; i<k+1; i++)
cin>>a[i];
int x=min_times(k,n);
cout<<endl<<"最少加油次数:"<<endl;
cout<<x<<endl;
}
/*测试用
7 7
1 2 3 4 5 1 6 6
*/
汽车加油问题
最新推荐文章于 2024-09-14 22:25:23 发布