目录

题目

题解


懂了的话就点个赞哦~没懂就看到懂为止呗~

题目

蒜厂幼儿园有 n 个小朋友,每个小朋友都有自己想玩的玩具。身为幼儿园园长的你决定给幼儿园买一批玩具,由于经费有限,你只能买 m 个玩具。已知玩具商店一共卖 k 种玩具,编号为 1,2,3,...k,你让每个小朋友把想玩的玩具编号都写在了纸上。你希望满足尽可能多的小朋友的需求,请计算出最多同时能满足多少个小朋友的玩具需求。

输入格式

第一行,输入三个整数 n,m,k(1≤n≤100,1≤m≤k≤15),中间用空格分开。

接下来 n 行,第 i+1(0≤i<n) 行的第一个数字 a_i 代表第 i 个小朋友想玩的玩具数量,接下来有 a_i​ 个数字,代表这 a_i​ 个玩具的编号。

输出格式

输出一个整数,表示最多能满足多少小朋友的玩具需求。

输出时每行末尾的多余空格,不影响答案正确性

样例输入

5 3 5
2 1 4
0
2 3 1
3 2 3 4
2 4 5

样例输出

3

题解

我们可用二进制枚举子集的方法来做此题。

#include<algorithm>
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
const int NOI=1e2;
int ans;//记录答案
int a[1<<16];//定义二进制数组
int main(){int n,m,k;//n 个小朋友;只能买 m 个玩具;商店一共卖 k 种玩具cin>>n>>m>>k;for (int i=0,tp;i<n;i++){cin>>tp;if (tp!=0){for (int j=0,tmp;j<tp;j++){cin>>tmp;//第一个数字 a代表第 i 个小朋友想玩的玩具数量,a[i]|=(1<<(tmp-1));//用二进制来表达出某个娃子要的玩具}//接下来有 a个数字,代表这 a个玩具的编号。}}for (int i=0;i<(1<<k);i++){//二进制枚举子集int sum=0;//当前能满足的人的数量bool t=0;for (int j=0;j<k;j++){if (i&(1<<j)){//看选没选中sum++;}if (sum>m){t=1;break;}}if (t)continue;//判断钱够不够sum=0;for (int j=0;j<n;j++){if ((a[j]&i)==a[j]){//求出目前最多能满足多少小朋友的玩具需求sum++;}}ans=max(ans,sum);}cout<<ans<<endl;//输出答案return 0;
}

懂了的话就点个赞哦~没懂就看到懂为止呗~

C++题解:幼儿园买玩具相关推荐

  1. 幼儿园买玩具_二进制枚举

    . 幼儿园买玩具 蒜厂幼儿园有 nn 个小朋友,每个小朋友都有自己想玩的玩具.身为幼儿园园长的你决定给幼儿园买一批玩具,由于经费有限,你只能买 mm 个玩具.已知玩具商店一共卖 kk 种玩具,编号为 ...

  2. 幼儿园买玩具(暴力破解)

    蒜厂幼儿园有 nnn 个小朋友,每个小朋友都有自己想玩的玩具.身为幼儿园园长的你决定给幼儿园买一批玩具,由于经费有限,你只能买 mmm 个玩具.已知玩具商店一共卖 kkk 种玩具,编号为 1,2,3, ...

  3. 【暴力枚举】二进制枚举-幼儿园买玩具

    [暴力枚举]二进制枚举-幼儿园买玩具 #include<iostream> #include<cstring> using namespace std; int main(){ ...

  4. 计蒜客-19 幼儿园买玩具

    蒜厂幼儿园有 nnn 个小朋友,每个小朋友都有自己想玩的玩具. 身为幼儿园园长的你决定给幼儿园买一批玩具,由于经费有限,你只能买 mmm 个玩具. 已知玩具商店一共卖 kkk 种玩具,编号为 1,2, ...

  5. 计蒜客习题:幼儿园买玩具

    问题描述 蒜厂幼儿园有 n 个小朋友,每个小朋友都有自己想玩的玩具.身为幼儿园园长的你决定给幼儿园买一批玩具,由于经费有限,你只能买 m 个玩具.已知玩具商店一共卖 k 种玩具,编号为 1,2,3,- ...

  6. 计蒜客 幼儿园买玩具

    蒜厂幼儿园有 n个小朋友,每个小朋友都有自己想玩的玩具.身为幼儿园园长的你决定给幼儿园买一批玩具,由于经费有限,你只能买 m个玩具.已知玩具商店一共卖 kk 种玩具,编号为 1,2,3,...k,你让 ...

  7. 计蒜客-幼儿园买玩具(java实现)

    蒜厂幼儿园有n个小朋友,每个小朋友都有自己想玩的玩具.身为幼儿园园长的你决定给幼儿园买一批玩具,由于经费有限,你只能买m个玩具.已知玩具商店一共卖k种玩具,编号为1,2,3...k,你让每个小朋友想玩 ...

  8. 蓝桥杯:幼儿园买玩具

    蒜厂幼儿园有 n 个小朋友,每个小朋友都有自己想玩的玩具.身为幼儿园园长的你决定给幼儿园买一批玩具,由于经费有限,你只能买m个玩具.已知玩具商店一共卖 k种玩具,编号为 1,2,3,...k,你让每个 ...

  9. 二进制枚举:幼儿园买玩具

    问题描述 蒜厂幼儿园有n 个小朋友,每个小朋友都有自己想玩的玩具.身为幼儿园园长的你决定给幼儿园买一批玩具,由于经费有限,你只能买m 个玩具.已知玩具商店一共卖k种玩具,编号为1,2,3,-k,你让每 ...

最新文章

  1. 机器学习03-神经网络
  2. 谷歌发布TensorFlow Privacy​:大幅提升AI模型中的隐私保护
  3. DialogInterface.OnClickListener()和android.view.View.OnClickListener冲突问题
  4. 代码审计-四叶草杯线下awd比赛源码web2
  5. 用python录入成绩储存程序_用Python创建成绩计算器的程序
  6. 从神经质症的发生发展过程找到走出焦虑的途径
  7. 从事前端开发必须要了解的CSS原理
  8. 开放式关系抽取_有效的开放式合作伙伴关系的3课
  9. oracle goldengate实施简明介绍
  10. 「代码随想录」动态规划:关于完全背包,你该了解这些!
  11. Lesson 02amp;03 for Plotting in R for Biologists
  12. 开源BI工具对比(一):BI介绍
  13. 基于JavaSwing开发中国象棋对战游戏+实验报告 课程设计 大作业
  14. C#工厂模式——简单工厂、工厂方法、反射+简单工厂、抽象工厂
  15. 测试人员应看重「业务测试能力」
  16. AI开发者大会,李彦宏成“宏颜获水”?
  17. 阿里2019社招内推!阿里云高级专家(P8)帮内推!投递简历邮箱看正文!
  18. 转:网络带宽测量工具之iperf
  19. 怎样linux下修复u盘,怎样Linux下修复U盘驱动器
  20. 服务器运维-vanish

热门文章

  1. 解决base64数组转jpg图片保存本地无法识别的问题
  2. 1330 小青蛙跳台阶
  3. java 同或_java语言中同或运算的实现
  4. [国家集训队]整数的lqp拆分 数学推导 打表找规律
  5. 【ARM自学笔记】ARM7时钟简述及配置
  6. python作业答案用什么软件好_可以搜整本答案的软件 作业答案软件有哪些
  7. 软件质量保证与测试大作业,软件测试大作业.docx
  8. 这本C语言入门书被翻译成五种语言出版,如今迎来了中文版第17版
  9. 研究生中山大学计算机学院分数线,中山大学2017年硕士研究生复试分数线
  10. UIKeyboard 键盘