欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

1362. 健康的荷斯坦奶牛【难度: 一般 / 二进制枚举】

发布时间:2025/3/20 编程问答 55 豆豆
生活随笔 收集整理的这篇文章主要介绍了 1362. 健康的荷斯坦奶牛【难度: 一般 / 二进制枚举】 小编觉得挺不错的,现在分享给大家,帮大家做个参考.


https://www.acwing.com/problem/content/1364/
二进制枚举即可,取一个最小值。

#include<bits/stdc++.h> using namespace std; const int N=30; int a[N],w[N][N],n,m; vector<int>ans; int main(void) {cin>>n;for(int i=0;i<n;i++) cin>>a[i];cin>>m;for(int i=0;i<m;i++)for(int j=0;j<n;j++) cin>>w[i][j];for(int i=0;i<(1<<m);i++){int b[N]={0};vector<int>temp;for(int j=0;j<m;j++){if(i>>j&1){for(int z=0;z<n;z++) b[z]+=w[j][z];temp.push_back(j);}}bool flag=true;for(int j=0;j<n;j++) if(b[j]<a[j]) flag=false;if(flag){sort(temp.begin(),temp.end());if(temp.size()<ans.size()||!ans.size()) ans=temp;if(temp.size()==ans.size()&&ans>temp) ans=temp;}}cout<<ans.size();for(int i=0;i<ans.size();i++) cout<<" "<<ans[i]+1;return 0; }

总结

以上是生活随笔为你收集整理的1362. 健康的荷斯坦奶牛【难度: 一般 / 二进制枚举】的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。