健康的荷斯坦奶牛

在此处键入或粘贴代码#include<bits/stdc++.h>
using namespace std;
int V,bk[30],G,a[20][30];
int p=INT_MAX,sum[1000],ans[1000],cnt[1000];
set<int> s;
bool check(){
	for(int i=0;i<V;i++){
		if(sum[i]<bk[i]) return false;
	}
	return true;
}
void dfs(int x,int len){
	if(len>=p){
		return ;
	}
	if(x>G){
		if(check()){
			p=min(len,p); 
			for(int i=0;i<len;i++){
				ans[i]=cnt[i];
			}
		}
		return ;
	}
	cnt[len]=x;
	for(int i=0;i<V;i++){
		sum[i]+=a[x][i];
	}

	dfs(x+1,len+1);
	for(int i=0;i<V;i++){
		sum[i]-=a[x][i];
	}
	dfs(x+1,len);
	
}
int main(){
	cin>>V;
	for(int i=0;i<V;i++) cin>>bk[i];
	cin>>G;
	for(int i=1;i<=G;i++){
		for(int j=0;j<V;j++){
			cin>>a[i][j];
		}
	} 
	dfs(1,0);
	cout<<p<<" ";
	for(int i=0;i<p;i++){
		cout<<ans[i]<<" ";
	}
	return 0;
}

能不能把题面放放