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

输入格式

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

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

输出格式

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

样例输入

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

样例输出

3
package 计蒜客;import java.util.Scanner;public class 幼儿园买玩具 {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubScanner scan=new Scanner(System.in);int n=scan.nextInt();//孩子的个数int m=scan.nextInt();//买的玩具个数int k=scan.nextInt();//商店有的玩具个数int max=0;//最大满足多少孩子int[] arr=new int[n];int[][] arr1=new int[n][k];int cou=0;for(int i=0;i<n;i++){arr[i]=scan.nextInt();for(int j=0;j<arr[i];j++){arr1[i][scan.nextInt()-1]++;}}outer:for(int i=(int)Math.pow(2, m)-1;i<=Math.pow(2, k)-1;i++){//产生二进制字符串cou=0;int[][] temp=new int[n][k];for(int ii=0;ii<n;ii++){for(int jj=0;jj<k;jj++){temp[ii][jj]=arr1[ii][jj];}}String str=Integer.toBinaryString(i);int count=0;//记录1的个数,只能为mfor(int ii=0;ii<str.length();ii++){if(str.charAt(ii)=='1'){count++;}if(count>m){continue outer;}//大于m个1跳出
            }while(str.length()!=k){str="0"+str;}for(int ii=0;ii<str.length();ii++){if(str.charAt(ii)=='1'){for(int jj=0;jj<n;jj++){temp[jj][ii]=0;//满足该小朋友的需求,设为0
                    }}}for(int ii=0;ii<n;ii++){int flag=0;for(int jj=0;jj<k;jj++){if(temp[ii][jj]==1){flag=1;}}if(flag==0){cou++;}}if(cou>max){max=cou;}}System.out.println(max);}
}

转载于:https://www.cnblogs.com/henuLiGang/p/8569448.html

幼儿园买玩具(暴力破解)相关推荐

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

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

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

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

  3. 计蒜客 幼儿园买玩具

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

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

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

  5. C++题解:幼儿园买玩具

    目录 题目 题解 懂了的话就点个赞哦~没懂就看到懂为止呗~ 题目 蒜厂幼儿园有 n 个小朋友,每个小朋友都有自己想玩的玩具.身为幼儿园园长的你决定给幼儿园买一批玩具,由于经费有限,你只能买 m 个玩具 ...

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

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

  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. Android-获取窗口的宽度与高度
  2. pandas:数据规范化方法与python实现
  3. 【Transformer】Deformable DETR: deformable transformers for end-to-end object detection
  4. 背包问题——01背包问题——Charm Bracelet
  5. 智能实验室-全能优化(Guardio) 4.0.0.691 beta 11
  6. 音视频重新封装的流程
  7. 最新码支付源码+全套的程序+三网监控+易支付H5接口 2022年6月22号
  8. 如何获取http://123123123 双斜杠后面的值?
  9. iPhone--卡贴是什么
  10. 外卖优惠券小程序源码,美团外卖,饿了么外卖红包
  11. Python实现坦克大战(TankWar)游戏
  12. 蓝桥杯算法训练之印章
  13. [转]部分日文实用网址介绍
  14. 隐马尔可夫模型-三个盒子颜色序列概率计算问题
  15. JavaScript - JS验证邮箱 ××× VISA 卡输入是否正确|正则表达式
  16. 第一节课-第二周:神经网络的编程基础(Basics of Neural Network programming)
  17. 房车接父母“反向过年”成春运新亮点
  18. 无线路由器的dhcp服务器如何设置,磊科无线路由器上DHCP服务器怎么设置
  19. mitmproxy环境搭建与证书安装
  20. 【CTF bugku 秋名山车神】关于会话脚本、session、正则表达式

热门文章

  1. 文件系统目录结构(Linux)
  2. 移动端UI自动化之appium的使用(二)
  3. EPI——部分笔记 + 资源无偿分享(百度网盘)~
  4. leetcode 剑指 Offer 46. 把数字翻译成字符串
  5. python微信加人_Python微信机器人自动添加好友自动回复
  6. 微信公众号接入AI聊天机器人
  7. 重新审视Visio的本质
  8. 数字集成电路设计-7-一个简单cpu的设计,实现,仿真与综合
  9. Vue-Quill-Editor
  10. signature=b5d482f98802c3bc661cc82639edaa27,Taro