【原题链接】

http://acm.pku.edu.cn/JudgeOnline/problem?id=2709

【题目大意】

要配置出n(3<=n<=12)种颜色的颜料,并配置出一定量的灰色颜料,可知灰色颜料可以用任意三种非灰色的颜料等量混合后获得,现输入每种颜色(包括灰色)需要的颜料的量,求解需要多少份颜料(每份颜料包括除黑色外的所有颜色,每种颜色每瓶体积为50ml)。

【解题思路】

用贪心算法,体积逐ml递减混合,所需量逐渐增加,最终得到所需颜色的份数。

【备注】

此处混合不一定是逐瓶混合,可以是任意体积混合。

【源程序】

[code]

#include <iostream>

#include <algorithm>

#include <string>

using namespace std;

long colVol[20],remain[20];

bool cmp(long a,long b) { return a>b; }

int main()

{

long colNum,gray,i,empty,in;

while(cin>>colNum,colNum)

{

for(i=0;i<colNum;i++) cin>>colVol[i];

sort(colVol,colVol+colNum);

cin>>gray;

if(colVol[colNum-1]%50) in=(colVol[colNum-1]/50+1)*50;

else in=colVol[colNum-1];

//此时in为不配得黑色时所需要加入的量

for(i=0;i<colNum;i++) remain[i]=in-colVol[i];//remain为可以用来配的黑色的量

while(gray)//如果配的黑色需要的量不为0,则循环一直进行

{

sort(remain,remain+colNum,cmp);//每次由高到低排序

if(!remain[2])//如果剩下量第三位的颜色已经用尽,那么再用一份颜料

{ in+=50; for(i=0;i<colNum;i++) remain[i]+=50; }

remain[0]--; remain[1]--; remain[2]--; gray--;

}

cout<<in/50<<endl;//输出瓶数

}

return 0;

}

[/code]

转载于:https://www.cnblogs.com/goodness/archive/2010/03/05/1678905.html

POJ 2709 Painter 【贪心算法】相关推荐

  1. poj 2709 Painter——贪心 买颜料问题

    转载于:http://blog.chinaunix.net/uid-22263887-id-1778908.html Painter Description The local toy store s ...

  2. POJ 2709 Painter

    题意: 一个商店里有许多颜料盒,但是每个颜料盒里面没有 grey 这种颜色,而这种颜色可以由任意其他三种颜色配成,每个颜料盒里一开始有 50ml 的各种非 grey 颜色, 告诉了 每种颜色和grey ...

  3. 贪心算法—区间调度 电影节(POJ 4151)

    贪心算法--区间选取问题 或是区间调度问题 本文解决一个很经典的贪心算法问题 Interval Scheduling(区间调度问题).给你很多形如[start,end]的闭区间,请你设计一个算法,算出 ...

  4. 贪心算法—建立雷达(POJ 1328)

    贪心算法--区间选点问题 这也是贪心算法的经典问题,一般情况为:有n个闭区间[ai,bj],取尽量少的点,使得每个区间内都至少有一个点. 分析 如果区间i内已经有一个点被取到,则称此区间已经被满足. ...

  5. 信息学奥赛第十节 —— 贪心算法(渡河问题POJ 1700 Crossing River + 拦截导弹的系统数量求解)

    复习概念 贪心算法又叫贪婪算法,是指在对问题求解时,总是做出在当前看来是最好的选择.也就是说,贪心算法不从整体最优上加以考虑,它所做出的是在某种意义上的局部最优解. 无后效性:贪心算法不是对所有问题都 ...

  6. 贪心算法—圣诞老人的礼物(POJ 4110)

    贪心算法--物品可拆分情况求背包最大价值问题 描述 圣诞节来临了,在城市A中圣诞老人准备分发糖果,现在有多箱不同的糖果,每箱糖果有自己的价值和重量,每箱糖果都可以拆分成任意散装组合带走.圣诞老人的驯鹿 ...

  7. 【贪心算法】poj 2431: Expedition(最优加油方法)

    题目描述(传送门) Description A group of cows grabbed a truck and ventured on an expedition deep into the ju ...

  8. POJ 3618 Best Cow Line(贪心算法)

    Best Cow Line Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 30454   Accepted: 8126 De ...

  9. POJ 3040 Allowance——经典贪心算法题目

    题目链接 题目大意: 约翰要给他的牛贝西发工资,每天不得低于C元,约翰有n种面值的钱币,第i种的面值为v_i,数量有b_i.问这些钱最多给贝西发多少天的工资.注意,每种面值的金钱都是下一种的面值的倍数 ...

最新文章

  1. weblogic修改java重启_修改weblogic域的jdk
  2. openssl的实践应用
  3. 嫉恨别人不如审视自己
  4. Uniform Grid Quadtree kd树 Bounding Volume Hierarchy R树 搜索
  5. appimage文件怎么安装_bauh:在一个界面中管理 Snap、Flatpak 和 AppImage | Linux 中国...
  6. 诈尸了。不瞒您说,老坑从不填,天天开新坑
  7. 树莓派 python spi,树莓派测试SPI-基于设备操作ioctl
  8. HTML5 Canvas 画虚线组件
  9. python调用什么函数实现对文件内容的读取_python读取文本文件数据
  10. c语言中乱显示数字,同时显示不同的数字
  11. 书法是什么?书法的美从何说起?
  12. java 继承 封装 多态 详解
  13. 软工导论测试代码(归档):设备管理系统
  14. centos linux服务器优化之系统服务优化
  15. 【接口测试】axios测试接口
  16. 网站后台导入文本编辑器
  17. 系统流程图,数据流程图和Ipo图的介绍
  18. 解决手机端微信公众号内input输入框获取焦点后,底部导航栏显示在输入法软键盘上面的问题
  19. java 字符串 数组 索引_如何在Java中找到数组中元素的索引?
  20. 黑马程序员--java基础--异常(二)

热门文章

  1. Azure: 给 ubuntu 虚机挂载数据盘
  2. 第13天:页面布局实例-博雅主页
  3. Java8 in action(1) 通过行为参数化传递代码--lambda代替策略模式
  4. PHP+shell实现多线程的方法
  5. SpringMVC源码阅读(三)
  6. 国内域名商.wang总量TOP14统计报告(6月9日)
  7. 手把手玩转win8开发系列课程(14)
  8. MOQL--操作数(Operand) (二)
  9. LeetCode讲解视频博主链接
  10. 【重点 递归版】剑指offer——面试题16:反转链表