C++题解:幼儿园买玩具
目录
题目
题解
懂了的话就点个赞哦~没懂就看到懂为止呗~
题目
蒜厂幼儿园有 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++题解:幼儿园买玩具相关推荐
- 幼儿园买玩具_二进制枚举
. 幼儿园买玩具 蒜厂幼儿园有 nn 个小朋友,每个小朋友都有自己想玩的玩具.身为幼儿园园长的你决定给幼儿园买一批玩具,由于经费有限,你只能买 mm 个玩具.已知玩具商店一共卖 kk 种玩具,编号为 ...
- 幼儿园买玩具(暴力破解)
蒜厂幼儿园有 nnn 个小朋友,每个小朋友都有自己想玩的玩具.身为幼儿园园长的你决定给幼儿园买一批玩具,由于经费有限,你只能买 mmm 个玩具.已知玩具商店一共卖 kkk 种玩具,编号为 1,2,3, ...
- 【暴力枚举】二进制枚举-幼儿园买玩具
[暴力枚举]二进制枚举-幼儿园买玩具 #include<iostream> #include<cstring> using namespace std; int main(){ ...
- 计蒜客-19 幼儿园买玩具
蒜厂幼儿园有 nnn 个小朋友,每个小朋友都有自己想玩的玩具. 身为幼儿园园长的你决定给幼儿园买一批玩具,由于经费有限,你只能买 mmm 个玩具. 已知玩具商店一共卖 kkk 种玩具,编号为 1,2, ...
- 计蒜客习题:幼儿园买玩具
问题描述 蒜厂幼儿园有 n 个小朋友,每个小朋友都有自己想玩的玩具.身为幼儿园园长的你决定给幼儿园买一批玩具,由于经费有限,你只能买 m 个玩具.已知玩具商店一共卖 k 种玩具,编号为 1,2,3,- ...
- 计蒜客 幼儿园买玩具
蒜厂幼儿园有 n个小朋友,每个小朋友都有自己想玩的玩具.身为幼儿园园长的你决定给幼儿园买一批玩具,由于经费有限,你只能买 m个玩具.已知玩具商店一共卖 kk 种玩具,编号为 1,2,3,...k,你让 ...
- 计蒜客-幼儿园买玩具(java实现)
蒜厂幼儿园有n个小朋友,每个小朋友都有自己想玩的玩具.身为幼儿园园长的你决定给幼儿园买一批玩具,由于经费有限,你只能买m个玩具.已知玩具商店一共卖k种玩具,编号为1,2,3...k,你让每个小朋友想玩 ...
- 蓝桥杯:幼儿园买玩具
蒜厂幼儿园有 n 个小朋友,每个小朋友都有自己想玩的玩具.身为幼儿园园长的你决定给幼儿园买一批玩具,由于经费有限,你只能买m个玩具.已知玩具商店一共卖 k种玩具,编号为 1,2,3,...k,你让每个 ...
- 二进制枚举:幼儿园买玩具
问题描述 蒜厂幼儿园有n 个小朋友,每个小朋友都有自己想玩的玩具.身为幼儿园园长的你决定给幼儿园买一批玩具,由于经费有限,你只能买m 个玩具.已知玩具商店一共卖k种玩具,编号为1,2,3,-k,你让每 ...
最新文章
- 机器学习03-神经网络
- 谷歌发布TensorFlow Privacy​:大幅提升AI模型中的隐私保护
- DialogInterface.OnClickListener()和android.view.View.OnClickListener冲突问题
- 代码审计-四叶草杯线下awd比赛源码web2
- 用python录入成绩储存程序_用Python创建成绩计算器的程序
- 从神经质症的发生发展过程找到走出焦虑的途径
- 从事前端开发必须要了解的CSS原理
- 开放式关系抽取_有效的开放式合作伙伴关系的3课
- oracle goldengate实施简明介绍
- 「代码随想录」动态规划:关于完全背包,你该了解这些!
- Lesson 02amp;03 for Plotting in R for Biologists
- 开源BI工具对比(一):BI介绍
- 基于JavaSwing开发中国象棋对战游戏+实验报告 课程设计 大作业
- C#工厂模式——简单工厂、工厂方法、反射+简单工厂、抽象工厂
- 测试人员应看重「业务测试能力」
- AI开发者大会,李彦宏成“宏颜获水”?
- 阿里2019社招内推!阿里云高级专家(P8)帮内推!投递简历邮箱看正文!
- 转:网络带宽测量工具之iperf
- 怎样linux下修复u盘,怎样Linux下修复U盘驱动器
- 服务器运维-vanish
热门文章
- 解决base64数组转jpg图片保存本地无法识别的问题
- 1330 小青蛙跳台阶
- java 同或_java语言中同或运算的实现
- [国家集训队]整数的lqp拆分 数学推导 打表找规律
- 【ARM自学笔记】ARM7时钟简述及配置
- python作业答案用什么软件好_可以搜整本答案的软件 作业答案软件有哪些
- 软件质量保证与测试大作业,软件测试大作业.docx
- 这本C语言入门书被翻译成五种语言出版,如今迎来了中文版第17版
- 研究生中山大学计算机学院分数线,中山大学2017年硕士研究生复试分数线
- UIKeyboard 键盘