【poj2709】Painter--贪心
| Time Limit: 1000MS | Memory Limit: 65536K | |
| Total Submissions: 5621 | Accepted: 3228 |
Description
Input
Output
Sample Input
3 40 95 21 0
7 25 60 400 250 0 60 0 500
4 90 95 75 95 10
4 90 95 75 95 11
5 0 0 0 0 0 333
0
Sample Output
2
8
2
3
4
Source
给出几种颜色需求的ml量,然后最后一个数是灰色需求量,灰色可以由任何三中不同颜色的颜色组成,每个颜料盒有所给出的颜色的炎凉50ml
问最少给出几个颜料盒,可以组成所需求颜色
显然贪心可以解决,先求出满足的普通色所需的最小盒数,然后把剩余颜料从大到小排列,那前三种每个取出1ml组成1
ml的灰色,在这里本来我是把选出三个颜色中,直接选取第三个(最小容量)的所有容量k,组成kml的灰色,后来发现不行,贪心必须每次都要要求最好
所以每次1ml来选才能达到要求
代码:
#include<cstdio>
#include<iostream>
#include<cstdlib>
#include<algorithm>
#define N 10000
using namespace std;
int n,col[N],mx=-1,gray,cnt;
bool cmp(int a,int b){return a>b;}
int main()
{
while(scanf("%d",&n) == 1 && n != 0)
{
mx=-1,cnt=0;
for(int i=1;i<=n;i++)
{
scanf("%d",&col[i]);
mx=max(mx,col[i]);
}
scanf("%d",&gray);
cnt+=(mx/50);
if(mx%50!=0)cnt++;
for(int i=1;i<=n;i++)col[i]=cnt*50-col[i];
while(gray>0)
{ sort(col+1,col+n+1,cmp);
if(col[3]>0)
{
gray--;
col[1]--;
col[2]--;
col[3]--;
}
else
{
cnt++;
for(int i=1;i<=n;i++)col[i]+=50;
}
}
printf("%d\n",cnt);
}
}
【poj2709】Painter--贪心的更多相关文章
- POJ2709 染料贪心
题意: 要搭配出来n种颜料,每种颜料要用mi升,除了这n种颜色还有一个合成灰色的毫升数,灰色是由三种不同的颜色合成的,三种m m m 的不同颜色能合成m升灰色,然后问你满足要求至少要多少盒 ...
- poj2709 贪心基础
D - 贪心 基础 Crawling in process... Crawling failed Time Limit:1000MS Memory Limit:65536KB 64bi ...
- poj 1681 Painter's Problem
Painter's Problem 题意:给一个n*n(1 <= n <= 15)具有初始颜色(颜色只有yellow&white两种,即01矩阵)的square染色,每次对一个方格 ...
- POJ 2706 Painter
Painter Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 3157 Accepted: 1962 Descripti ...
- poj_2709 贪心算法
poj 2709 painter 题目要求 给定涂料,每套涂料含有3-12种不同的颜色(开始时候给定选用的颜料套的颜色数目),且一套涂料中每种颜色均有50ml.且一套涂料中的任意三种不同的颜色各X m ...
- [SinGuLaRiTy] 贪心题目复习
[SinGuLaRiTy-1024] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. [POJ 2709] 颜料 (Painter) 题目描述 ...
- BZOJ 1692: [Usaco2007 Dec]队列变换 [后缀数组 贪心]
1692: [Usaco2007 Dec]队列变换 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1383 Solved: 582[Submit][St ...
- HDOJ 1051. Wooden Sticks 贪心 结构体排序
Wooden Sticks Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...
- HDOJ 1009. Fat Mouse' Trade 贪心 结构体排序
FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
随机推荐
- Swarm系列7--存储介绍
存储介绍 1. 存储使用 与docker一样,在使用swarm服务级别的时候可以定义服务的存储需求, docker存储介绍参考: Docker之应用数据管理(volume/bind mount/tmp ...
- Neo4j基本使用及导入三元组
下载和安装Neo4j 安装Java JDK 下载Neo4j安装文件 创建系统环境变量 Neo4j配置 配置文档存储在conf目录下,Neo4j通过配置文件neo4j.conf控制服务器的工作.默认情况 ...
- 本地虚拟机NAT模式下怎么设置才可以访问外网
记:因为我要在本机虚拟机上安装Docker,结果发现虚拟机环境不能上网,是主机模式.我要调成net模式下才可以访问外网,这就需要怎么设置.下面文章记录一下. 在本机安装VMware软件后,系统中会自动 ...
- Eclipse 反编译工具 jad
** 1 下载 jad工具 ** 2 将.exe文件放在jdk安装路径下,里面有java ,javac 等命令,然后将jad.jar放在eclipse的dropins目录下 ** 3 启动eclips ...
- 针对IE6 7 8当独写样式
IE8的格式: .foot{padding:12px 10px\9;} //在后面加\9 IE7的格式: .foot{*padding:12px 10px\9;} //在前面加* IE6的格式: .f ...
- 五、HashMap的使用 及其源码解析
HashMap的底层实现原理?领接表(数组+链表)hash表数组+链表+红黑树 链表:查找慢 插入 删除快红黑树:查找快 插入 删除慢 HashMap是线程安全的吗?不是线程安全的 在什么情况下 ,是 ...
- C++ STL 之 常用算法
#include <iostream> #include <vector> #include <algorithm> using namespace std; // ...
- swoole| swoole 协程初体验 转
swoole| swoole 协程初体验 date: 2018-5-30 14:31:38title: swoole| swoole 协程初体验description: 通过协程的执行初窥 swo ...
- nginx加入开机自启动
1.首先,在linux系统的/etc/init.d/目录下创建nginx文件,使用如下命令:(vim /etc/init.d/nginx) 2.在/etc/init.d/nginx中写入以下脚本代码 ...
- Linux CentOS7 httpd 配置注释
本文首发:https://www.somata.work/2019/LinuxCentOShttpdConfigComment.html 如果没看懂可以去看看官方发布的文档 apache官方文档 co ...