幼儿园买玩具(暴力破解)
蒜厂幼儿园有 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
幼儿园买玩具(暴力破解)相关推荐
- 【暴力枚举】二进制枚举-幼儿园买玩具
[暴力枚举]二进制枚举-幼儿园买玩具 #include<iostream> #include<cstring> using namespace std; int main(){ ...
- 幼儿园买玩具_二进制枚举
. 幼儿园买玩具 蒜厂幼儿园有 nn 个小朋友,每个小朋友都有自己想玩的玩具.身为幼儿园园长的你决定给幼儿园买一批玩具,由于经费有限,你只能买 mm 个玩具.已知玩具商店一共卖 kk 种玩具,编号为 ...
- 计蒜客 幼儿园买玩具
蒜厂幼儿园有 n个小朋友,每个小朋友都有自己想玩的玩具.身为幼儿园园长的你决定给幼儿园买一批玩具,由于经费有限,你只能买 m个玩具.已知玩具商店一共卖 kk 种玩具,编号为 1,2,3,...k,你让 ...
- 计蒜客-19 幼儿园买玩具
蒜厂幼儿园有 nnn 个小朋友,每个小朋友都有自己想玩的玩具. 身为幼儿园园长的你决定给幼儿园买一批玩具,由于经费有限,你只能买 mmm 个玩具. 已知玩具商店一共卖 kkk 种玩具,编号为 1,2, ...
- C++题解:幼儿园买玩具
目录 题目 题解 懂了的话就点个赞哦~没懂就看到懂为止呗~ 题目 蒜厂幼儿园有 n 个小朋友,每个小朋友都有自己想玩的玩具.身为幼儿园园长的你决定给幼儿园买一批玩具,由于经费有限,你只能买 m 个玩具 ...
- 计蒜客习题:幼儿园买玩具
问题描述 蒜厂幼儿园有 n 个小朋友,每个小朋友都有自己想玩的玩具.身为幼儿园园长的你决定给幼儿园买一批玩具,由于经费有限,你只能买 m 个玩具.已知玩具商店一共卖 k 种玩具,编号为 1,2,3,- ...
- 计蒜客-幼儿园买玩具(java实现)
蒜厂幼儿园有n个小朋友,每个小朋友都有自己想玩的玩具.身为幼儿园园长的你决定给幼儿园买一批玩具,由于经费有限,你只能买m个玩具.已知玩具商店一共卖k种玩具,编号为1,2,3...k,你让每个小朋友想玩 ...
- 蓝桥杯:幼儿园买玩具
蒜厂幼儿园有 n 个小朋友,每个小朋友都有自己想玩的玩具.身为幼儿园园长的你决定给幼儿园买一批玩具,由于经费有限,你只能买m个玩具.已知玩具商店一共卖 k种玩具,编号为 1,2,3,...k,你让每个 ...
- 二进制枚举:幼儿园买玩具
问题描述 蒜厂幼儿园有n 个小朋友,每个小朋友都有自己想玩的玩具.身为幼儿园园长的你决定给幼儿园买一批玩具,由于经费有限,你只能买m 个玩具.已知玩具商店一共卖k种玩具,编号为1,2,3,-k,你让每 ...
最新文章
- Android-获取窗口的宽度与高度
- pandas:数据规范化方法与python实现
- 【Transformer】Deformable DETR: deformable transformers for end-to-end object detection
- 背包问题——01背包问题——Charm Bracelet
- 智能实验室-全能优化(Guardio) 4.0.0.691 beta 11
- 音视频重新封装的流程
- 最新码支付源码+全套的程序+三网监控+易支付H5接口 2022年6月22号
- 如何获取http://123123123 双斜杠后面的值?
- iPhone--卡贴是什么
- 外卖优惠券小程序源码,美团外卖,饿了么外卖红包
- Python实现坦克大战(TankWar)游戏
- 蓝桥杯算法训练之印章
- [转]部分日文实用网址介绍
- 隐马尔可夫模型-三个盒子颜色序列概率计算问题
- JavaScript - JS验证邮箱 ××× VISA 卡输入是否正确|正则表达式
- 第一节课-第二周:神经网络的编程基础(Basics of Neural Network programming)
- 房车接父母“反向过年”成春运新亮点
- 无线路由器的dhcp服务器如何设置,磊科无线路由器上DHCP服务器怎么设置
- mitmproxy环境搭建与证书安装
- 【CTF bugku 秋名山车神】关于会话脚本、session、正则表达式