贪心算法-汽车加油

一辆汽车加满油后可行驶n千米。旅途中有若干个加油站。若要使沿途加油次数最少,设计一个有效算法,指出应在哪些加油站停靠。

算法解答:

(使用的是回溯的方法,

用数组存储各加油站之间的距离,

然后按照贪心算法进行试算,如果不行,则回溯。

举个例子吧:如果可以行驶20公里,第一个加油站离起点10公里,如果第二个离第一个加油站18公里,那么就不应该在第一个加油,如果第二个加油站里第一个加油站只有8公里,那么自然可以到第二个加油,就这样一个一个的往后试,如果不行,就回溯,这样就可以了。)

程序:

// 汽车加油.cpp : Defines the entry

point for the console application.

//

#include "stdafx.h"

int main(int argc, char*

argv[])

{

int

OilStationNum;//加油站的数目

int

MaxDist; //汽车加满油以后行驶的最大距离

int

DiscOfCar; //汽车一次加油后已经行驶的距离

int Count;

int * OilStationDist;

printf("请输入加油站的段数(用整数表示):");

scanf("%d",&OilStationNum);

printf("------------------------------\n");

printf("汽车加满油以后行驶的最大距离(用整数表示):");

scanf("%d",&MaxDist);

printf("---------------------------------------\n");

OilStationDist=new int

[OilStationNum-1];

printf("请输入各各加油站之间的距离(假设不能有环路):\n");

for

(Count=0;Count<=OilStationNum-1;)

{

//

scanf("%d",&OilStationDist[Count]);

if

(OilStationDist[Count]<=MaxDist)

Count++;

else

printf("你输入的加油站之间的距离大于汽车加满油以后行驶的最大距离,请重新输入当前距离!\n");

}

printf("-----------------------------------------\n");

printf("下面是你输入的加油站之间的顺序间隔:\n");

for

(Count=0;Count<=OilStationNum-2;Count++)

{

//

printf("加油站编号:%d,到下一站距离:%d\n",Count,OilStationDist[Count]);

}

printf("加油站编号:%d,到终点站距离:%d\n",OilStationNum-1,OilStationDist[OilStationNum-1]);

DiscOfCar=0;

Count=0;

while (1)

{

if

(DiscOfCar<=MaxDist)

{

//

DiscOfCar+=OilStationDist[Count];

Count+=1;

}

else

{

//

Count-=1;

printf("当前汽车需要在%d号加油站处加油,此时汽车行驶了%d公里\n",Count,DiscOfCar-OilStationDist[Count]);

DiscOfCar=0;

}

if

(Count>OilStationNum)

{

printf("当前汽车到达终点,此时汽车距上一次加油行驶了%d公里\n",DiscOfCar-OilStationDist[Count]);

}

if

(Count>OilStationNum) break;

}

return 0;

}

贪心 汽车加油 java_贪心算法-汽车加油相关推荐

  1. java 汽车加油问题_贪心算法 汽车加油问题 | 学步园

    / //一辆汽车加满油后可行驶n公里.旅途中有若干个加油站.设计一个有效      // // // n和k个加油站位置,编程计算最少加油次数.并证明算法能产生一个最优解.    // //要求:   ...

  2. 汽车加油问题 贪心算法 Java(详细注释)

    目录 一.问题描述 二.分析过程 三.参考代码及运行结果 一.问题描述 二.分析过程 i :第i个加油站 i = 0:出发地 i = k:目的地(共 k+1 个站,由问题知,k = 5) x[i] : ...

  3. 贪心算法两船装载问题Java_贪心算法-最优装载问题

    贪心选择算法为算法分析中一种常用算法,通过一系列的选择来得到一个问题的解.它所作的每一个选择都是当前状态下某种意义的最好选择,即贪心选择.希望通过每次所作的贪心选择导致最终结果是问题的一个最优解.这种 ...

  4. 汽车穿越沙漠的算法问题(反推法)

    一.问题描述   一辆吉普车来到1000km宽的沙漠边沿.吉普车的耗油量为1L/km,总装油量为500L.显然,吉普车必须用自身油箱中的油在沙漠中设几个临时 加油点,否则是通不过沙漠的.假设在沙漠边沿 ...

  5. 对下图所示的连通网络G,用克鲁斯卡尔(Kruskal)算法求G的最小生成树T,请写出在算法执行过程中,依次加入T的边集TE中的边。说明该算法的基本思想及贪心策略,并简要分析算法的时间复杂度

    对下图所示的连通网络G,用克鲁斯卡尔(Kruskal)算法求G的最小生成树T,请写出在算法执行过程中,依次加入T的边集TE中的 边.说明该算法的基本思想及贪心策略,并简要分析算法的时间复杂度

  6. 贪心算法和01背包算法

    贪心算法和01背包算法 实验报告 1.问题 2.解析 3.设计 4.分析 5.源码 实验报告 课程名称 <算法分析与设计> 实验名称 贪心算法和01背包算法 1.问题 [描述算法问题,首选 ...

  7. 几道加油站加油相关问题:最小加油次数、能否回到起点

    几道加油站加油相关问题 1.选一个加油站能走完一圈:leetcode134. Gas Station 2.加油最少次数(easy) 3.加油最少次数(hard):leetcode871. Minimu ...

  8. 什么是共享汽车运营系统、共享汽车硬件系统、共享汽车管理软件、共享汽车运营管理系统研究设计

    如何编写共享汽车系统设计方案?定制共享汽车系统开发方案有哪些计划? 车辆管理系统设计方案,从各个方面进行详尽设计,包括驾驶员档案.车辆档案管理.油卡管理.车辆出车管理.车辆加油.车辆维修.车辆规费.车 ...

  9. 汽车行业大趋势——软件定义汽车

    文章目录 前言 一.软件定义汽车的驱动力 二.SOA架构在软件定义汽车中的作用 三.车载软件架构(内核.中间件.应用层)长期趋势 总结 前言 最早在2007年4月份的IEEE会议中提出"软件 ...

  10. 慧数汽车大数据如何帮助汽车厂商创新与增值?

    随着信息技术的快速发展与经济社会的高度融合,数据已成为经济社会发展不可或缺的战略资源,大数据正日益对全球生产.流通.分配.消费活动以及经济运行机制.社会生活方式产生重要影响.对汽车行业而言,大数据的蓬 ...

最新文章

  1. 踏上云旅程 存储准备好了吗
  2. 微软发布WP SDK8.0 新增语音、应用内支付等原生API
  3. linux 使用jstack_案例解析:线程池使用不当导致的系统崩溃
  4. socket的NIO操作
  5. Android nfc编译,【Android编译】各个模块编译方法
  6. 作者:孙傲冰(1978-),男,博士,东莞中国科学院云计算产业技术创新与育成中心电子政务事业部副研究员...
  7. 动态规划问题中最长公共子序列---C语言实现
  8. xhell启动mysql_xshell怎么搭建mysql
  9. NHibernate Antlr.Runtime.NoViableAltException报错
  10. 当公司辞掉85后测试员选择95后测试员后...
  11. (分治)7617:输出前k大的数
  12. thinkphp 表单令牌
  13. 同事发来的文件是个html,逮到一个疑是感染html,htm,网页文件的木马
  14. Spring Boot中自动注入没有生效,报NullPointer的问题
  15. 关于csdn登陆提示验证码
  16. 齿轮标准模数c语言编程,标准齿轮模数齿数计算公式汇总.pdf
  17. 辉光管时钟系列<三>时钟芯片DS12C887
  18. java 字符串 空白字符_Java String中移除空白字符的多种方式汇总
  19. php sql 条件拼组_将数组里的元素拼接成sql里的in条件
  20. JavaScript 遍历数组 翻转数组与冒泡排序法

热门文章

  1. 好文摘记——施一公教授:如何提高专业英语阅读水平
  2. 声纹鉴定(语音同一性司法鉴定)是什么?
  3. 防盗报警器c语言程序,基于单片机的汽车防盗报警系统的设计毕业论文.doc
  4. 基于微型计算机系统的报警器设计,防盗报警器的设计毕业设计分析.doc
  5. php工具下载 脚本之家,php脚本编辑工具题目
  6. 大数据“超能力”:数据安全和隐私该如何保障?
  7. 系统性谈谈软件可靠性——第2讲:软件可靠性度量及分配
  8. 电影社交网络中Facemash女生评比算法Java实现
  9. 小猪短租网一个网页上的单个价格
  10. After Effects 学习