汽车加油问题

#include
int greedy(int x[],int n,int k){
	int sum=0;
    for(int j=0;j<=k;j++){
        if(x[j]>n)
		{
			printf("No Solution!\n");
			return -1;
		}
	}
    for (int i=0,s=0;i<=k;i++)
    {
        s+=x[i];
        if(s>n)
        {
            sum++;
            s=x[i];
        }
    }
    return sum;
}
int main()
{
    int i,k,n;
    int x[1000];
	printf("请输入加油站数目:\n");
	scanf("%d",&k);
	printf("请输入汽车加满油可行驶最远距离:\n");
	scanf("%d",&n);
	printf("请输入加油站之间的距离:\n");
    for(i=0;i<=k;i++)
    {
        scanf("%d",&x[i]);
    }
    int t=greedy(x,n,k);
    printf("最少加油次数是:%d\n",t);
    return 0;
}

 

你可能感兴趣的:(计算机算法分析与设计)