//倒推法:穿越沙漠问题
#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
int dis,k,oil;//dis表示距终点的距离,1000-dis则表示距起点的距离,k表示储油点从后到前的序号
dis=500;k=1;oil=500;
do
{
print("storepoint",k,"distance",1000-dis,"oilquantity",oil);
++k;
dis+=500/(2*k-1);
oil=500*k;
}while(dis<1000);
oil=500*(k-1)+(1000-dis)*(2*k-1);
print("storepoint",k,"distance",0,"oilquantity",oil);
return 0;
}
//怎样走效率高:
//首先不记方向这段路应走奇数次(保证最后向终点走)
//每次向终点行进时吉普车是满载。
//这个加油点要储存下一加油点的储油量以及建立下一加油点路上的油耗。