HDU 2208 唉,可爱的小朋友(DFS)
唉,可爱的小朋友
Time Limit: 10000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 819 Accepted Submission(s): 220
#include<iostream> #include<cstdio> #include<cstring>using namespace std;int n,m,map[20][20]; int root[20],flag;void DFS(int x,int y){ //x代表人数 y代表球数if(flag) //找到满足题意的方案return ;if(y>m) //需要的球超出了预算return ;if(x==n){ //人数达到了要求,且这时候球的数量一定在预算内,找到了可行方案flag=1;return ;}for(int i=0;i<x;i++){if(root[i]!=i) //找一个集合的根continue;int tag=1;for(int j=i;j<x && tag;j++) //判断该点是否可以放入到该集合内if(root[j]==i)tag=map[j][x];if(tag){ //tag为1的时候,则说明这个点可以放到该集合内root[x]=i; //将这个点指向根iDFS(x+1,y); //人数加1,进入下一个递归root[x]=x; //将该点还原,以找到下一个该点的可能落脚点,以确保可以考虑到所有的可能 }}DFS(x+1,y+1); //将这个点分到一个新的集合里 }int main(){//freopen("input.txt","r",stdin);while(~scanf("%d%d",&n,&m)){memset(map,0,sizeof(map));flag=0;int k,x;for(int i=0;i<n;i++){scanf("%d",&k);root[i]=i;while(k--){scanf("%d",&x);map[i][x]=1; //对无冲突的点的组合标记为真 }}DFS(0,0);if(m>=n || flag)puts("YES");elseputs("NO");}return 0; }
HDU 2208 唉,可爱的小朋友(DFS)相关推荐
- HDU2208唉,可爱的小朋友 (DFS)
Problem Description 唉,小朋友是比较麻烦的.在一个幼儿园里,老师要上一节游戏课,有N个小朋友要玩游戏,做游戏时要用小皮球,但是幼儿园里只有M个小皮球,而且有些小朋友不喜欢和一些小朋 ...
- [HDU 1427]速度计算24点(DFS暴力搜索)
主题连接: http://acm.hdu.edu.cn/showproblem.php?pid=1427 思路:简单的DFS.dfs(sum,next,p)表示当前已经算出的值是sum,括号里算 ...
- HDU2208唉,可爱的小朋友
Problem Description 唉,小朋友是比较麻烦的.在一个幼儿园里,老师要上一节游戏课,有N个小朋友要玩游戏,做游戏时要用小皮球,但是幼儿园里只有M个小皮球,而且有些小朋友不喜欢和一些小朋 ...
- HDU - 3974 Assign the task (DFS建树+区间覆盖+单点查询)
题意:一共有n名员工, n-1条关系, 每次给一个人分配任务的时候,(如果他有)给他的所有下属也分配这个任务, 下属的下属也算自己的下属, 每次查询的时候都输出这个人最新的任务(如果他有), 没有就输 ...
- HDU 5527:Too Rich(DFS+贪心)***
题目链接 题意 给出p块钱,现在要用十种硬币凑出,每种硬币有c[i]个,问最多能用多少个硬币. 思路 首先确定,对于每个硬币就是能用小的替换就不用大的. 所以,可以先把硬币尽量用小的替换,如果小的不够 ...
- HDU 1010 Tempter of the Bone DFS(奇偶剪枝优化)
需要剪枝否则会超时,然后就是基本的深搜了 #include<cstdio> #include<stdio.h> #include<cstdlib> #include ...
- hdu 2553 N皇后问题【dfs】
N皇后问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...
- HDU - 5788 Level Up(主席树+dfs序+树状数组)
题目链接:点击查看 题目大意:给出一棵有向树,每个节点都有一个初始的权值 a[ i ] ,和一个通过计算得到的权值 mid[ i ] ,mid 数组的计算方法如下:mid[ u ] 为结点 u 及其子 ...
- HDU - 6203 ping ping ping(LCA+dfs序+线段树)
题目链接:点击查看 题目大意:给出一棵由n+1个节点组成的数,节点编号为0~n(这个无关紧要,预处理时所有节点以及n都自增1即可转换为正常的模型了),现在给出m组节点u和v,问若想让m组u和v都断开连 ...
最新文章
- 腾讯开源分布式NoSQL存储系统DCache | 技术头条
- 案例分析 | SAP如何帮助企业实现端到端的数字化供应链管理
- 常见的浏览器兼容问题
- 错误中积累经验,BUG中寻发展,总结中提升
- node都会 react_学react需要node吗
- Objective - C基础: 第一天 - 5.对象和类
- Windows XP with SP3 All Edtion Download
- 【赠书】深入浅出Python量化交易实战
- 制作WEB在线编辑器-插入HTML标签
- linux删除git账号密码忘记了,linux清除git账号密码
- docker的简单操作和端口映射
- 区别Transform、Transition、Animation
- sharding-jdbc水平分库与垂直分库
- android实战开发02
- C语言中188 10取模等于多少,C语言编程:任取x为十进制整数,编程将x转换成对应的八进制数后输出。...
- 3.Linux性能诊断 --- 快速检查单(10个命令) 监控
- 北京理工大学c语言课后答案,《北京理工大学C语言教材习题答案》.doc
- 如何在 think-cell 瀑布图中并行汇总多个系列?
- DELL 电脑 ubuntu20.04系统安装(最新最简版)
- 2015实习准备之C/C++篇(未完待续)
热门文章
- python深入和扩展_用Python来扩展Postgresql(一)
- docker版iOS超级签应用分发平台源码分享[带免签封装]
- 元祖数据mysql_MySQL数据库——表操作
- Django使用mysql连接池_Django db使用MySQL连接池
- sqlserver文件转mysql_怎样将Sqlserver数据库转成mysql数据库
- 捐赠赞助单页HTML模板
- 面试:一文搞懂重载和重写的区别
- 移动开发在路上-- IOS移动开发系列 多线程二
- 公布一个简单的日志记录方法 【转】-要研究
- JavaScript 文件拖拽上传插件 dropzone.js 介绍