poj 2709 Painter

发布时间:2016-12-11 12:33:43 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"poj 2709 Painter",主要涉及到poj 2709 Painter方面的内容,对于poj 2709 Painter感兴趣的同学可以参考一下。

      题意:一套涂料里面,每种颜色为50ml,每组测试数据给你n种颜色,然后每种颜色的需求量。然后给出gray颜色的需求量,1mlgray需要任意三种不同的颜色各1ml,问你最少需要多少套涂料。      思路:满足了最基本的需求需要的套数之后会有剩下的涂料,然后每次从(剩余)最多的3种颜料各选1ml,然后再次进行排序,如果剩余的不够了就再加一套工具,最后模拟到gray的数目为零结束循环。     #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; const int N = 14; int arr[N]; int main(void) { int n; while(scanf("%d",&n),n) { memset(arr,0,sizeof(arr)); int ans = 0; for(int i=1;i<=n;++i) { scanf("%d",arr+i); } int gray,num; sort(arr+1,arr+1+n); scanf("%d",&gray); if(arr[n]%50==0) { num = arr[n]; ans = arr[n]/50; } else { ans = arr[n]/50 + 1; num = 50*ans; } while(1) { while(arr[3]<num&&gray>0) { arr[1]++; arr[2]++; arr[3]++; gray--; sort(arr+1,arr+1+n); } if(gray==0) break; num += 50; ans += 1; } cout<<ans<<endl; } return 0; }

上一篇:linux下面一些命令整理
下一篇:HIVE分析统计结果直接导入mysql数据库

相关文章

关键词: poj 2709 Painter

相关评论