最少颜料

来源:互联网 发布:域名注册 一年 编辑:程序博客网 时间:2024/03/29 07:25
<pre name="code" class="java">有个卖玩具的店里有一种类似颜料盒的东东,颜料盒的颜色种数从3到12不等,每种颜料有50ml。有一种很特别的颜色叫做灰色,任何一种颜料盒里本来不存在这种颜色,但是可以用任意3种不同的颜色混合而成。现在你需要N种颜色的颜料盒,并且每种颜料的需求量也给定,包括灰色,让你求出需要的最少的该颜料盒的个数。输入:一行一行的读取数据,每个数据用空格分开,第一个输入的数是n个所需的非灰色颜色数接下来是输入n个数,表示每个颜色所需的数量最后一个输入的数是灰色所需数量输出:所需的最小颜色盒数量测试数据输入:3 40 95 21 0输出:2输入:7 25 60 400 250 0 60 0 500输出:8输入:4 90 95 75 95 10输出:2输入:4 90 95 75 95 11输出:3输入:5 0 0 0 0 0 333输出:4


import java.util.Arrays;import java.util.Scanner;public class 颜料问题 {static int Gray=0;public static void main(String[] args) {Scanner in=new Scanner(System.in);while(in.hasNext()){int nCase=in.nextInt();if(nCase==0)break;int max=0;Integer[] array=new Integer[nCase];for(int i=0;i<nCase;i++){array[i]=in.nextInt();}Gray=in.nextInt();for(;Gray>0;Gray--){Arrays.sort(array);array[0]++;array[1]++;array[2]++;}for(int i=0;i<nCase;i++){if(array[i]>max)max=array[i];}int box=max/50;if(box*50<max)box++;System.out.println(box);}}}

0 0