91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 2KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-06-12
  • 語言: C/C++
  • 標簽: 加油??貪心算法??

資源簡介

一個旅行家想駕駛汽車從城市A到城市B(設出發(fā)時油箱是空的)。給定兩個城市之間的距離dis、汽車油箱的容量c、每升汽油能行駛的距離d、沿途油站數(shù)n、油站i離出發(fā)點的距離d[i]以及該站每升汽油的價格p[i],i=1,2,…,n。設d[1]=0<d[2]<…<d[n]。要花最少的油費從城市A到城市B,在每個加油站應加多少油,最少花費為多少?

資源截圖

代碼片段和文件信息

#include?
#include?
#define?MAX?200?
double?TX(double?d1double?cdouble?d2int?ndouble?d[MAX]?double?p[MAX]?)/*核心算法*/
??{
int?i;??
double?result=0.0;//油量總價
????double?sy[MAX];//剩余油量
for(i=0;i ?sy[i]=0;
????double?x[MAX];
for(i=0;i ?x[i]=0;
????for(i=0;i??????{
?????????//k指向下一站
?????????int?k=i+1;
?????????//k指向油價比第i站便宜
?????????while(p[k]>p[i]&&k?????????{??
???????????k++;
?????????}
?????????//如果k站和i站之間距離大于裝滿油時所能行駛的距離則加滿油
?????????if(d[k]-d[i]>c*d2)//d[]指兩站之間的距離
?????????{
?????????????x[i]=c-sy[i];//x[i]指第i站的加油量
?????????}
?????????//如果k站和i站之間距離不大于裝滿油時所能行駛的距離,
????? //則保證所加油量只行駛到第k站,并跳過檢查其間的加油站是否需要加油
?????????else
?????????{
???????????//若油量足夠行駛到k站則不加油
???? if((d[k]-d[i])/d2>sy[i])//不夠則加油?
x[i]=(d[k]-d[i])/d2-sy[i];
else?
x[i]=0;
???

評論

共有 條評論