病毒

题目大意:

有n(1<=n<=1000)头奶牛,d(1<=d<=15)种病毒,每头奶牛身上有可能有很多种病毒病毒,每头奶牛挤出的牛奶是混在一起放的,问最多可以挤多少头奶牛的牛奶,而且挤出的奶牛中的病毒种数不大于d(1<=k<=d)

Input

题目中的n,d,k
接下来n行,第一个数d_i表示这头奶牛身上的病毒种数,然后d_i个数表示各个病毒的种类

Output

输出只有一个数,就是可以挤多少头奶牛的牛奶

Sample Input

6 3 2
0
1 1
1 2
1 3
2 2 1
2 2 1

Sample Output

5

Hint

【样例说明】

约翰可以挤编号为1,2,3,5,6的奶牛的牛奶,牛奶中只含两种病毒(#1和#2),病毒种数不大于K(2)。

解题思路:

枚举要不要某种病毒,然后看符合奶牛的有几头即可

代码:

#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
int n,d,k,x,y,ans,a[20],b[1005],p[1005][20];
void dfs(int dep,int now)//dep表示第几个病毒,now表示选了几个病毒
{if (now>k) return;//不符合条件if (dep>d)//搜完了{int sum=0;for (int i=1;i<=n;++i)//每头奶牛{sum++;for (int j=1;j<=b[i];++j)//携带的病毒种数if (!a[p[i][j]])//是否包含这个病毒{sum--;//不包含就删掉break;}}ans=max(sum,ans);//取最大值return;}a[dep]=1;//要dfs(dep+1,now+1);a[dep]=0;//不要dfs(dep+1,now);
}
int main()
{scanf("%d %d %d",&n,&d,&k);for (int i=1;i<=n;++i){scanf("%d",&b[i]);for (int j=1;j<=b[i];++j){scanf("%d",&y);p[i][j]=y;//第i头牛的第j个病毒}}dfs(1,0);printf("%d",ans);//输出
}

【dfs】病毒(jzoj 1284)相关推荐

  1. [AC自动机][dfs] 洛谷 P2444 病毒

    题目描述 二进制病毒审查委员会最近发现了如下的规律:某些确定的二进制串是病毒的代码.如果某段代码中不存在任何一段病毒代码,那么我们就称这段代码是安全的.现在委员会已经找出了所有的病毒代码段,试问,是否 ...

  2. 【dfs】无穷迷宫(jzoj 3924)

    无穷迷宫 jzoj 3924 题目大意 有一个n*m的迷宫,有墙(#),路(.),和你的位置(S),这个迷宫会复制无数份拼在一起,问你能不能不停地走下去 输入样例 2 5 4 ##.# ##S# #. ...

  3. 【dfs】树(jzoj 2753)

    树 jzoj 2753 题目大意: 给你一棵树,每一个点都一个值,现在问你有多少条路径可以满足以下条件: 1.方向都是向下 2.路径上的点的值总和为S 输入样例 3 3 1 2 3 1 2 1 3 输 ...

  4. 【dfs】家族(jzoj 1985)

    家族 jzoj 1985 解题思路: 在一个只含空格,'*'号和小写字母的图上,问有多少个连在一起(上下左右四个方向)的小写字母块 输入样例 4 *zlw**pxh l*zlwk*hx* w*tyy* ...

  5. 【dfs】通行证(jzoj 2013)

    通行证 jzoj 2013 题目大意: 有一个图,走某一条路需要某个通行证(数据给出所有可选择的),现在要从某个点到另一个点,问最少要多少个通行证 样例输入 3 3 3 0 2 0 0 2 1 1 2 ...

  6. AcWing 3465. 病毒朔源 (邻接表DFS 详解)

    来源:CCCC天梯赛L2-038 病毒容易发生变异. 某种病毒可以通过突变产生若干变异的毒株,而这些变异的病毒又可能被诱发突变产生第二代变异,如此继续不断变化. 现给定一些病毒之间的变异关系,要求你找 ...

  7. [BZOJ3779]重组病毒(LCT+DFS序线段树)

    同[BZOJ4817]树点涂色,只是多了换根操作,分类讨论下即可. 1 #include<cstdio> 2 #include<algorithm> 3 #define lc ...

  8. nssl1323,jzoj(初中)2107-交流【dfs,容斥,组合数】

    正题 题目大意 对于mmm个字符串,一些地方是???表示可以填任意字符. 每一个目标串要满足至少kkk个串. 求方案总数. 解题思路 首先暴力搜索一些串选择或不选择,然后容斥. 选择之后我们可以得出一 ...

  9. nssl1321,jzoj(初中)2106-买门票【dfs,暴力,字符串】

    正题 题目大意 给定一些字母,用字母组成一个单词要求满足 从小到大 有1个元音字母 有2个辅音字母 长度为LLL 输出字典序最小的250002500025000个. 解题思路 暴力搜索时间复杂度 O( ...

最新文章

  1. 使用Android BindingAdapter与InverseBindingAdapter实现SeekBar双向(正向/反向)数据绑定...
  2. python视频口碑佳_从万众期待到口碑扑街!用Python来分析一下大家对唐探3的评论...
  3. C++---拷贝构造函数和赋值构造函数
  4. 在Android NDK中使用OpenSSL
  5. CF838C-Future Failure【dp,子集卷积】
  6. HCIE Security AC的准入技术 备考笔记(幕布)
  7. 12306第一波春运售票高峰:“云查询”每秒40万次
  8. Linux的NFS(net file systen)
  9. 第十一章:项目风险管理 - (11.1 规划风险管理)
  10. 怎么在CAD图纸中标注文字
  11. 【时间管理】要事第一--时间管理四象限法
  12. LODOP设计打印模板
  13. UVA 12307 旋转卡壳
  14. 抖音服务器究竟有多大,为什么能够供那么多人同时刷?
  15. css网页网格线条背景
  16. Springboot一:多环境配置、热部署、单元测试 MockMvc
  17. Modbus 简单认识(楼宇自动化系统背景下的详实总结
  18. C#连接嵌入式小型数据库firebird,操作数据
  19. 安装2019Pycharm最新版本-详细教程--激活码
  20. MSN:移花接木巧玩“QQ秀”(转)

热门文章

  1. c语言修改windows系统时间,c语言实现系统时间校正工具代码分享
  2. 算法题目——第K大的数
  3. 后端学习 - MyBatis
  4. DEV-C上的报错 Process exited after 4.03 seconds with return value 3221225725
  5. Java当中捕获异常
  6. 用php编写一个日志系统,php利用单例模式实现日志处理类库
  7. [MyBatisPlus]MyBatisX插件
  8. [SpringSecurity]框架概述
  9. UVA10129 Play on Words (并查集判连通+欧拉回路)
  10. 计算机用英语表示方法有哪些,在计算机领域中,通常用英文单词“bit”来表示( )...