比赛 |
20140713下午练习 |
评测结果 |
AAAAAAAAAA |
题目名称 |
荷斯坦奶牛 |
最终得分 |
100 |
用户昵称 |
KZNS |
运行时间 |
0.012 s |
代码语言 |
C++ |
内存使用 |
0.32 MiB |
提交时间 |
2014-07-13 16:02:19 |
显示代码纯文本
- #include<fstream>
- using namespace std;
- int v,vl[27]={0},g,sl[17][27]={0};
- bool ff[17]={0},edf[17]={0};
- int edt=17;
- void find(int d,int u);
- int main()
- {
- ifstream fi("holstein.in");
- ofstream fo("holstein.out");
- fi>>v;
- for(int i=1;i<=v;i++)
- fi>>vl[i];
- fi>>g;
- for(int i=1;i<=g;i++)
- for(int j=1;j<=v;j++)
- fi>>sl[i][j];
- find(g,0);
- fo<<edt;
- for(int i=1;i<=g;i++)
- if(edf[i])
- fo<<' '<<i;
- fo<<endl;
- return 0;
- }
- void find(int d,int u)
- {
- if(u>=edt)
- return;
- if(d>0)
- {
- find(d-1,u);
- ff[d]=1;
- find(d-1,u+1);
- ff[d]=0;
- }
- else
- {
- bool fff=1;
- int s[27]={0};
- for(int i=1;i<=v&&fff;i++)
- {
- for(int j=1;j<=g;j++)
- if(ff[j])
- s[i]+=sl[j][i];
- if(s[i]<vl[i])
- fff=0;
- }
- if(fff)
- {
- for(int i=1;i<=g;i++)
- edf[i]=ff[i];
- edt=u;
- }
- }
- }