Problem K
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.
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>
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.
0
250 0 60 0 500
95 10
95 11
333
ml混合而成,现在给出各个颜色的需求量,让你求最少需要几盒颜料;
0ms)
#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的更多相关文章
- 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 ...
- 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 ...
- 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 ...
- 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 ...
- 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 ...
- 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 ...
- 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 ...
- HDU 6342.Problem K. Expression in Memories-模拟-巴科斯范式填充 (2018 Multi-University Training Contest 4 1011)
6342.Problem K. Expression in Memories 这个题就是把?变成其他的使得多项式成立并且没有前导零 官方题解: 没意思,好想咸鱼,直接贴一篇别人的博客,写的很好,比我的 ...
- 华农oj Problem K: 负2进制【有技巧构造/待补】
Problem K: 负2进制 Time Limit: 2 Sec Memory Limit: 128 MB Submit: 51 Solved: 6 [Submit][Status][Web Boa ...
- Problem K: 搜索基础之棋盘问题
Problem K: 搜索基础之棋盘问题 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 92 Solved: 53[Submit][Status][W ...
随机推荐
- 关于C++中char 型变量的地址输出
在刚开始学习C/C++过程中,我们希望输出各个变量的地址来窥探一些我们"百思不得其解"的现象,例如搞清函数堆栈相关的程序内部秘密. 先看下面示例: #include<stdi ...
- 在分布式数据库中CAP原理CAP+BASE
本篇博文的内容均来源于网络,本人只是整理,仅供学习! 一.关系型数据库 关系型数据库遵循ACID规则 事务在英文中是transaction,和现实世界中的交易很类似,它有如下四个特性: 1.A (At ...
- Spring事务源码阅读笔记
1. 背景 本文主要介绍Spring声明式事务的实现原理及源码.对一些工作中的案例与事务源码中的参数进行总结. 2. 基本概念 2.1 基本名词解释 名词 概念 PlatformTransaction ...
- Treblecross 博弈SG值
Treblecross is a two player game where the goal is to get three X in a row on a one-dimensional boar ...
- 1523. K-inversions URAL 求k逆序对,,,,DP加树状数组
1523. K-inversions Time limit: 1.0 secondMemory limit: 64 MB Consider a permutation a1, a2, …, an (a ...
- BZOJ-1010-[HNOI2008]玩具装箱toy(斜率优化)
Description P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中.P教授有编号为1... ...
- Windows+Apache2.4.10+PHP7.0+MySQL5.6.21安装
一.安装包下载 apache2.4.10 http://www.apachelounge.com/download/win64/ PHP7.0.7 http://windows.php.net/dow ...
- 不同Activity之间传递线程
场景:Android由Activiy A创建Activiy B时 ,A创建的线程B中依然需要调用,这时候需要在两个activity之间传递线程的信息. 解决: 方式一:线程自己维护自己的静态句柄(比较 ...
- 详解m4文件
最近在分析speex代码,发现编译过程中需要的一个speex.m4文件不知道是何方神圣,怀着对未知知识的渴望,跑到 某哥和某基问了一下,算是认识了,为了方便以后经常见面,这里就做个记录吧. M4实际上 ...
- git gc -- 压缩历史信息
格式: git gc [选项] <path> 选项 git commit -a 提交所有改动的文件(a -- all) NOTE: XX 举例 压缩历史消息 git ...