有一天,阿里巴巴赶着一头毛驴上山砍柴。砍好柴准备下山时,远处突然出现一股烟尘,弥漫着直向上空飞扬,朝他这儿卷过来,而且越来越近。靠近以后,他才看清原来是一支马队,他们共有四十人,一个个年轻力壮、行动敏捷。一个首领模样的人背负沉重的鞍袋,从丛林中一直来到那个大石头跟前,喃喃地说道:“芝麻,开门吧!”随着那个头目的喊声,大石头前突然出现一道宽阔的门路,于是强盗们鱼贯而入。阿里巴巴待在树上观察他们,直到他们走得无影无踪之后,才从树上下来。他大声喊道:“芝麻,开门吧!”他的喊声刚落,洞门立刻打开了。他小心翼翼地走了进去,一下子惊呆了,洞中堆满了财物,还有多得无法计数的金银珠宝,有的散堆在地上,有的盛在皮袋中。突然看见这么多的金银财富,阿里巴巴深信这肯定是一个强盗们数代经营、掠夺所积累起来的宝窟。为了让乡亲们开开眼界,见识一下这些宝物,他想一种宝物只拿一个,如果太重就用锤子凿开,但毛驴的运载能力是有限的,怎么才能用驴子运走最大价值的财宝分给穷人呢?阿里巴巴陷入沉思中……

注:可以财宝可以打破带走

解题思路:

先算出性价比,然后对性价比进行排序,可巧妙的利用结构体的知识进行解题。

解题代码:

#include <stdio.h>
typedef struct three{double w;double v;double p;
}three;
int main(){three t;int x=0;double sum=0;int MAX=30;three arr[10];arr[0].w=2;arr[1].w=5;arr[2].w=8;arr[3].w=9;arr[4].w=5;arr[5].w=4;arr[6].w=5;arr[7].w=5;arr[8].w=5;arr[9].w=4;arr[0].v=8;arr[1].v=15;arr[2].v=20;arr[3].v=18;arr[4].v=8;arr[5].v=6;arr[6].v=7;arr[7].v=6;arr[8].v=5;arr[9].v=3;for(int i=0;i<10;i++){arr[i].p=arr[i].v/arr[i].w;}for(int i=0;i<10;i++){for(int j=i;j<10;j++){if(arr[i].p<arr[j].p){t=arr[i];arr[i]=arr[j];arr[j]=t;}}}while(MAX>0){sum=sum+arr[x].v;MAX=MAX-arr[x].w;x++;}MAX=MAX+arr[x-1].w;sum=sum-arr[x-1].v;printf("%.2lf",MAX*arr[x-1].p+sum);return 0;
}

2.3阿里巴巴与四十大盗 背包问题相关推荐

  1. 2.3阿里巴巴与四十大盗——背包问题

    2.3阿里巴巴与四十大盗--背包问题 2.3.1问题分析 2.3.2算法设计 2.3.3 完美图解 2.3.4 伪代码详解 2.3.5 实战演练 2.3.6算法分析及优化拓展 1.算法复杂度分析 2. ...

  2. 贪心算法之阿里巴巴与四十大盗——背包问题

    14天阅读挑战赛 有一天,阿里巴巴赶着一头毛驴上山砍柴.砍好柴准备下山时,远处突然出现一股烟尘,弥漫着向上空飞扬,朝他这儿卷过来,而且越来越近.阿里巴巴心里害怕,担心碰到的是一伙儿强盗,他赶紧把毛驴赶 ...

  3. 贪心算法--阿里巴巴与四十大盗--背包问题

    一.问题描述 有一天,阿里巴巴赶着一头毛驴上山砍柴.砍好柴准备下山时,远处突然出现一股烟尘,弥漫着直向上空非扬,朝他这儿卷过来,而且越来越近.靠近以后,他才看清原来是一支马队,他们公有四十人,一个个年 ...

  4. 【贪心算法】阿里巴巴与四十大盗——背包问题与0-1背包问题

    前言 关于贪心算法,我在这篇博客中已经做了简单的介绍.初识贪心算法 下面来介绍一下贪心算法中的一个经典的问题--背包问题 一.问题描述 一天,阿里巴巴赶着一头毛驴上山砍柴,无意间在远处发现了一群盗贼, ...

  5. 【贪心】阿里巴巴与四十大盗-背包问题

    题目 阿里巴巴因为偶然的机会进入了强盗们的宝库,他想拿走一些让乡亲们开开眼.他想每种宝物只拿一个,如果太重就用锤子凿开,但毛驴运载能力有限,怎么才能用毛驴运走最大价值的宝物呢? 数据 输入 第一行:宝 ...

  6. 阿里巴巴与四十大盗——背包问题

    C++源码: #include<iostream> #include<algorithm> #include<conio.h> const int M=100000 ...

  7. 贪心算法 | 背包问题——阿里巴巴与四十大盗

    2.背包问题--阿里巴巴与四十大盗 问题:有一天,阿里巴巴赶着一头毛驴上山砍柴.砍好柴准备下山时,远处突然出现一股烟尘,弥漫着直向上空非扬,朝他这儿卷过来,而且越来越近.靠近以后,他才看清原来是一支马 ...

  8. 贪心算法之阿里巴巴与四十大盗(背包问题)

    1.问题 有一天,阿里巴巴赶着一头毛驴上山砍柴.砍好柴准备下山时,远处突然出现一股烟尘,弥漫着直向上空飞扬,朝他这儿卷过来,而且越来越近.靠近以后,他才看清原来是一支马队,他们共有四十人,一个个年轻力 ...

  9. 贪心——阿里巴巴与四十大盗(可拆分背包)

    问题 F: 阿里巴巴与四十大盗 时间限制: 1 Sec  内存限制: 128 MB 提交: 215  解决: 123 [提交][状态][讨论版][命题人:quanxing] 题目描述 有一天,阿里巴巴 ...

最新文章

  1. MATLAB_4-形态学_腐蚀_膨胀_灰度图的腐蚀以及膨胀_开运算_闭运算_文章末尾有几个素材例子
  2. 数据库基础笔记(MySQL)2 —— 基础查询
  3. SSRS:使用SQL2008教程学习Reporting Services之数据库AdventureWorks2008问题_学习笔记1
  4. Python内置函数之数学函数
  5. 日常生活小技巧 -- markdown编辑器
  6. php下intval()和(int)转换使用与区别
  7. truncate 、delete与drop区别
  8. php学习之----采集新浪头条新闻
  9. 常见 HTTP/FTP/WebSocket 错误代码大全 - 转
  10. ABP项目后台初始化数据库
  11. BZOJ3190[JLOI2013] 赛车
  12. 汇编语言程序设计-钱晓捷(第五版)第一章-汇编语言基础知识
  13. 雷赛acc68c说明书_深圳雷赛科技有限公司官网 雷赛智能公司怎么样 雷赛运动控制卡教程 雷赛步进电机说明书 雷赛m542c说明书 雷赛智能官网...
  14. Chrome 浏览器扩展神器暴力猴
  15. zoom下载官网android最新,Zoom手机版app下载安装包-Zoom手机版安卓软件下载v5.0-后壳下载...
  16. Redis下载与安装教程
  17. 【LLS-Player】webrtc m94 修改
  18. java数字猜大小游戏_Java之数字猜大小
  19. SpringBoot 整合Smart-doc生成接口文档
  20. Java写时复制CopyOnWriteArrayList

热门文章

  1. 深度学习利器:分布式TensorFlow及实例分析
  2. linux下svn配置http访问
  3. ADAS-开源环视360全景拼接代码原理分析与实现(一)
  4. 曙光服务器显示psu故障,排除故障a.c. -系列服务器重新启动
  5. Arduino UNO销量破千万,从Arduino进化史看革命性硬件是如何炼成的?
  6. matlab chebyshev插值,Matlab之插值
  7. java中KeyEvent方法在控制台,停止OSX音调符号为所有用户禁用Java中的键绑定?
  8. mysql 连接工具 查士丁尼_查士丁尼皇帝和廷臣
  9. Adobe Premiere Pro CS4默认快捷键
  10. linux firefox插件开发教程,Linux下firefox插件开发