记录编号 |
111853 |
评测结果 |
AWAAWAATTT |
题目名称 |
[USACO 2.1] 荷斯坦奶牛 |
最终得分 |
50 |
用户昵称 |
ok |
是否通过 |
未通过 |
代码语言 |
C++ |
运行时间 |
4.156 s |
提交时间 |
2014-07-14 11:29:00 |
内存使用 |
0.32 MiB |
显示代码纯文本
#include <fstream>
using namespace std;
ifstream input("holstein.in");
ofstream output("holstein.out");
int i,j,n,a[26]={0},m,b[26][26]={0},z1=1000,z2=10000000,c[26]={0};
bool z3[26]={0},bian[26]={0};
int niu(int x,int y)
{
int k,l,mmm=1;
for(k=1;k<=n;k++)
{
if(c[k]<a[k]) mmm=0;
}
if(x<z1&&mmm)
{
z1=x;
z2=y;
for(i=1;i<=m;i++)
{
z3[i]=bian[i];
}
}
if(x=z1&&y<=z2&&mmm)
{
z2=y;
for(i=1;i<=m;i++)
{
z3[i]=bian[i];
}
}
if(x<=z1)
{
for(k=m;k>=1;k--)
{
if(bian[k]==0)
{
bian[k]=1;
for(l=1;l<=n;l++)
{
c[l]+=b[k][l];
y+=b[k][l];
}
niu(x+1,y);
bian[k]=0;
for(l=1;l<=n;l++)
{
c[l]-=b[k][l];
y-=b[k][l];
}
}
}
}
return 0;
}
int main()
{
input>>n;
for(i=1;i<=n;i++) input>>a[i];
input>>m;
for(i=1;i<=m;i++) for(j=1;j<=n;j++) input>>b[i][j];
niu(0,0);
z1=0;
for(i=1;i<=m;i++)
{
if(z3[i]) z1++;
}
output<<z1;
for(i=1;i<=m;i++)
{
if(z3[i]) output<<' '<<i;
}
output<<endl;
input.close();
output.close();
return 0;
}