贪心算法之汽车加油

#include 

int main(){
	int n=7;//油箱容量(km) 
	int k=7;//加油站数量 
	int d[8]={1,2,3,1,5,1,6,6};//加油站之间的距离 
	int Greedy(int n,int k,int *d );
	Greedy(n,k,d); 
}

int Greedy(int n,int k,int *d ){
	int num=0;
	int sumDist=0;
	for(int i=0;i<=k;i++){//判断是否有两个加油站之间的距离大于车能跑的距离即油箱容量 
		if(d[i]>n){
			printf("no soultion");
		}
	}
	for(int i=0;i<=k;i++){ 
		sumDist+=d[i];
		if(sumDist>n){
			num++;
			sumDist=d[i];
		}
	}
	printf("加油次数为: %d",num);
	return 1;
}

 

你可能感兴趣的:(贪心算法,汽车加油,学习笔记)