您的位置:首页 > 其它

USACO 2.1.5 Healthy Holsteins

2010-08-20 08:59 302 查看
/*
ID: zhangzz4
PROG: holstein
LANG: C++
*/
#include<stdio.h>
int main()
{
freopen("holstein.in","r",stdin);
freopen("holstein.out","w",stdout);
int v,g;
int d[26],f[16][26];
scanf("%d",&v);
for(int i=0;i<v;i++)
scanf("%d",&d[i]);
scanf("%d",&g);
for(int i=0;i<g;i++)
for(int j=0;j<v;j++)
scanf("%d",&f[i][j]);
int ans=16,mf;
for(int k=0;k<(1<<g);k++)
{
int t[26];
for(int i=0;i<v;i++)
t[i]=d[i];
for(int i=0;i<g;i++)
if(k&(1<<i))
{
for(int j=0;j<v;j++)
t[j]-=f[i][j];
}
int flag=1;
for(int i=0;i<v;i++)
if(t[i]>0) flag=0;
if(flag)
{
int num=0;
for(int i=0;i<g;i++)
if(k&(1<<i)) num++;
if(num<ans)
{
ans=num;
mf=k;
}
}
}
printf("%d",ans);
for(int i=0;i<g;i++)
if(mf&(1<<i))
printf(" %d",i+1);
puts("");
//scanf("%'d");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c