#include<stdio.h> 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; }
原文地址:https://www.cnblogs.com/zili/p/9906481.html
时间: 2024-10-09 01:50:09