本算法是一个贪心算法,解决了在一条公路上有若干个加油站,每个加油站加满油后可以行驶一定的距离,求最少加几次油可以从起点到终点的问题。

  1. 首先判断是否有解,如果存在一个加油站的油量大于总路程,则无法到达终点,输出“没有解”并结束算法。
  2. 从起点开始,遍历每个加油站,并判断当前加油站的油量是否足够行驶到下一个加油站(即加上下一个加油站到当前加油站的距离),如果不够,则在当前加油站加油,输出当前加油站的编号,并将加油次数加一,同时将油量置为当前加油站的油量。
  3. 最后输出总加油次数。

算法复杂度为O(n),其中n为加油站的个数。

3#include iostream4using namespace std;5int d=7;6int n=4;7int a=2736;8int m=0;9void solve1011 int isum;12 forint i=0;in;i++13 14 ifaid15 16 cout没有解endl;17 r

原文地址: https://www.cveoy.top/t/topic/d3Hq 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录