您的位置:首页 > 大数据 > 人工智能

poj 2709 Painter 坑爹贪心

2016-11-17 16:50 309 查看
贪心策略选择:

每次减的越少,每种颜料的利用率就越高,因为必须三种颜色的颜料同时有Xml时才能配色,只有一种或者两种颜料大于0时不能配色,如果这一种或者两种颜色的体积比较大时,明显就浪费了,所以贪心策略每次将体积最大的三种颜料体积减1

#include<iostream>
#include<cstring>
#include<string>
#include<algorithm>
#include<functional>
using namespace std;
#define maxn 256

int N,G;
int a[20];
int min(int a,int b)
{
return a<b?a:b;
}
int main()
{
int i,j,k,ans;
int tmp;
while(scanf("%d",&N),N)
{
for(i=0;i<N;i++)
scanf("%d",a+i);
scanf("%d",&G);
sort(a,a+N,greater<int>());
ans=a[0]/50;
if(a[0]%50)
ans++;
for(i=0;i<N;i++)
a[i]=ans*50-a[i];
sort(a,a+N,greater<int>());
while(G)
{
while(G>0 && a[2]>0)
{
//tmp=min(G,a[2]);
G--;
a[0]--;
a[1]--;
a[2]--;
sort(a,a+N,greater<int>());
}

if(G>0)
for(ans++,i=0;i<N;i++)
a[i]+=50;
}
printf("%d\n",ans);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: