一辆汽车加满油后可以行驶
N
千米。
旅途中有若干个加油站。
指出若要使沿途的加油次
数最少,设计一个有效的算法,指出应在那些加油站停靠加油。
给出
N
,并以数组的形式给出加油站的个数及相邻距离,指出若要使沿途的加油次数最
少,
设计一个有效的算法,
指出应在那些加油站停靠加油。
一辆汽车加满油后可以行驶N千米。旅途中有若干个加油站。指出若要使沿途的加油次数最少,设计一个有效的算法,指出应在那些加油站停靠加油。
给出N,并以数组的形式给出加油站的个数及相邻距离,指出若要使沿途的加油次数最少,设计一个有效的算法,指出应在那些加油站停靠加油。
#include"iostream"
#include"fstream"
using namespace std;
int n,k;
int a[100];
/*
函数功能:数据输入
参数:无
返回值:无
*/
void init_Data() {
int i;
ifstream infile("input.txt",ios::in);
infile>>n;
infile>>k;
for(i = 1; i <= k + 1; i++)
infile>>a[i];
infile.close();
}
/*
函数功能:结果输出
参数:需要输出到文件的数据
返回值:无
*/
void out_Resualt(int resualt) {
ofstream outfile("output.txt",ios::out);
outfile<<resualt;
outfile.close();
}
/*
函数功能:计算最少加油次数
参数:无
返回值:返回最少加油次数
*/
int least_RefuelTime() {
int j = 1;
int mileage = 0;
int counter = 0;
while(j != (k + 1)) {
while(mileage <= n) {
mileage += a[j];
j++;
}
counter++;
mileage = 0;
j -= 1;
}
return counter;
}
/*
函数功能:主函数,程序入口
参数:无
返回值:无
*/
void main() {
int r;
init_Data();
r = least_RefuelTime();
out_Resualt(r);
}