Problem Description
The local toy store sells small
fingerpainting kits with between three and twelve 50ml bottles of
paint, each a different color. The paints are bright and fun to
work with, and have the useful property that if you mix X ml each
of any three different colors, you get X ml of gray. (The paints
are thick and "airy", almost like cake frosting, and when you mix
them together the volume doesn't increase, the paint just gets more
dense.) None of the individual colors are gray; the only way to get
gray is by mixing exactly three distinct colors, but it doesn't
matter which three. Your friend Emily is an elementary school
teacher and every Friday she does a fingerpainting project with her
class. Given the number of different colors needed, the amount of
each color, and the amount of gray, your job is to calculate the
number of kits needed for her class.
 
Input
The input consists of one or more test
cases, followed by a line containing only zero that signals the end
of the input. Each test case consists of a single line of five or
more integers, which are separated by a space. The first integer N
is the number of different colors (3 <= N <= 12). Following
that are N different nonnegative integers, each at most 1,000, that
specify the amount of each color needed. Last is a nonnegative
integer G <= 1,000 that specifies the amount of gray needed. All
quantities are in ml.< br>
 
Output
For each test case, output the smallest
number of fingerpainting kits sufficient to provide the required
amounts of all the colors and gray. Note that all grays are
considered equal, so in order to find the minimum number of kits
for a test case you may need to make grays using different
combinations of three distinct colors.
 
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
题意:给你一个颜料盒,里面有n中颜料,每种颜色50ml,唯独没有灰色,但是x ml灰色可由任意三种其他颜色x
ml混合而成,现在给出各个颜色的需求量,让你求最少需要几盒颜料;
解体过程:刚开始以为给出的数字就是给出的每盒颜料中每种颜料的量,就找不到其他颜料的需求了,后来仔细看了看题意才明白是给出的数字就是颜色的需求量,将颜料盒按照颜料的多少按照从小到大的顺序排序,每次拿出前三个(最多的三个)来配灰色,有一种颜色<=0了就集体加50ml(加一盒);
感悟:英语是硬伤,不能耐得住性子看题意啊;
代码(G++
0ms)
#include

#include

#include

#include

#define maxn 20

using namespace std;

bool comp(const int &a,const int &b)

{

    return
a>b;

}

int find_max(int color[],int n)

{

    int
s=-1;

    for(int
i=0;i

    {

       
if(color[i]>s)

           
s=color[i];

    }

    return
s;

}

int main()

{

   
//freopen("in.txt", "r", stdin);

    int
n,color[maxn],gray,kits=0,maxneed=0;

   
while(~scanf("%d",&n)&&n)

    {

       
kits=maxneed=0;

       
for(int i=0;i

           
scanf("%d",&color[i]);

       
scanf("%d",&gray);

       
maxneed=find_max(color,n);

       
kits=maxneedP?maxneed/50+1:maxneed/50;//先满足别的颜色需求;

       
for(int i=0;i

           
color[i]=kits*50-color[i];//这是按照别的需求加满颜料之后的各种颜料

       
//的数量

       
int k=0;

       
while(true)//开始混合灰色的

       
{

           
if(k>=gray)

               
break;

           
sort(color,color+n,comp);

           
if(color[0]<=0||color[1]<=0||color[2]<=0)//如果有一种颜料不够了

{

               
kits++;

               
for(int i=0;i

                   
color[i]+=50;//每一盒都加上50ml;

           
}

           
color[0]--;

           
color[1]--;

           
color[2]--;

           
k++;

       
}

       
printf("%d\n",kits);

    }

    return
0;

}

Problem K的更多相关文章

  1. Codeforces Gym 100610 Problem K. Kitchen Robot 状压DP

    Problem K. Kitchen Robot Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/10061 ...

  2. Codeforces 1089K - King Kog's Reception - [线段树][2018-2019 ICPC, NEERC, Northern Eurasia Finals Problem K]

    题目链接:https://codeforces.com/contest/1089/problem/K time limit per test: 2 seconds memory limit per t ...

  3. Gym 101981K - Kangaroo Puzzle - [玄学][2018-2019 ACM-ICPC Asia Nanjing Regional Contest Problem K]

    题目链接:http://codeforces.com/gym/101981/problem/K Your friend has made a computer video game called “K ...

  4. Western Subregional of NEERC, Minsk, Wednesday, November 4, 2015 Problem K. UTF-8 Decoder 模拟题

    Problem K. UTF-8 Decoder 题目连接: http://opentrains.snarknews.info/~ejudge/team.cgi?SID=c75360ed7f2c702 ...

  5. 2010-2011 ACM-ICPC, NEERC, Moscow Subregional Contest Problem K. KMC Attacks 交互题 暴力

    Problem K. KMC Attacks 题目连接: http://codeforces.com/gym/100714 Description Warrant VI is a remote pla ...

  6. XVII Open Cup named after E.V. Pankratiev Grand Prix of Moscow Workshops, Sunday, April 23, 2017 Problem K. Piecemaking

    题目:Problem K. PiecemakingInput file: standard inputOutput file: standard outputTime limit: 1 secondM ...

  7. 2018 Multi-University Training Contest 4 Problem K. Expression in Memories 【模拟】

    任意门:http://acm.hdu.edu.cn/showproblem.php?pid=6342 Problem K. Expression in Memories Time Limit: 200 ...

  8. HDU 6342.Problem K. Expression in Memories-模拟-巴科斯范式填充 (2018 Multi-University Training Contest 4 1011)

    6342.Problem K. Expression in Memories 这个题就是把?变成其他的使得多项式成立并且没有前导零 官方题解: 没意思,好想咸鱼,直接贴一篇别人的博客,写的很好,比我的 ...

  9. 华农oj Problem K: 负2进制【有技巧构造/待补】

    Problem K: 负2进制 Time Limit: 2 Sec Memory Limit: 128 MB Submit: 51 Solved: 6 [Submit][Status][Web Boa ...

  10. Problem K: 搜索基础之棋盘问题

    Problem K: 搜索基础之棋盘问题 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 92  Solved: 53[Submit][Status][W ...

随机推荐

  1. PHP buffer的机制

    PHP的buffer是这样的: 输出的字符串 => PHP buffer => 等待输出 => web 服务器的缓冲区 => tcp 缓冲区 => 客户端.过程其实相当的 ...

  2. 翻译 | Thingking in Redux(如果你只了解MVC)

    作者:珂珂(沪江前端开发工程师) 本文原创,转载请注明作者及出处. 原文地址:https://hackernoon.com/thinking-in-redux-when-all-youve-known ...

  3. MTVERIFY

    MTVERIFY宏即适用于GUI程序也适用于console程序,这个宏内部其实是记录并解释了Win32 GetLastError()的结果.如果Win32函数失败,MTVERIFY()会打印出一段简短 ...

  4. es6函数的rest参数和拓展运算符(...)的解析

    es6的新特性对函数的功能新增加了rest参数和...的拓展运算符.这是两个什么东西呢? 先来看一个问题:如何获取一个函数除了定义的参数之外的其他参数?传统的做法是借助函数的arguments关键字来 ...

  5. 用ESP8266+android,制作自己的WIFI小车(Android 软件)

    先说一下这篇文章里面的内容:TCP 客户端, 自定义对话框, 自定义按钮, ProgressBar竖直显示, 重力感应传感器,手机返回键新开启界面的问题(返回上次的界面),数据保存 软件的通信是配合 ...

  6. Jquery插件之ajaxForm ajaxSubmit的理解用法(转)

    我们在平常使用Jquery异步提交表单,一般是在submit()中,使用$.ajax进行.比如: $(function(){ $('#myForm').submit(function(){ $.aja ...

  7. VirtualBox 磁盘容量调整

    起因 此前用VBox,初始时动态或固定分配的磁盘容量用完了就再重新建一个磁盘,但是有个虚拟机的系统分区容量不够了,把整个磁盘都分成系统盘仍然不够,于是研究了下磁盘容量调整问题. 正文 1,从当前虚拟机 ...

  8. 将本地代码上传到github

    准备工作上传本地代码到github 准备工作 在github上创建自己的Repository. 安装git,centos的git安装教程. 上传本地代码到github git init git add ...

  9. GPUImage库的使用

    GPUImage开源项目地址:https://github.com/BradLarson/GPUImage GPUImage使用说明:https://github.com/BradLarson/GPU ...

  10. python3.6如何安装pymssql

    使用pip install pymssql安装时,总是会出现UnicodeDecodeError.于是下载了适用的pymssql.whl进行安装,详细可参考 https://docs.microsof ...